diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-05-05 13:11:53 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-05-07 07:10:48 +0200 |
commit | 0bbd874743538103c74f3c81df4f25b1bb3f1b2e (patch) | |
tree | 4c0a9f720bf9f00e67055e4456b4b43dda77ff00 | |
parent | 11b6a82412bcd372adf694a26d83b07d337e1325 (diff) | |
download | ffmpeg-0bbd874743538103c74f3c81df4f25b1bb3f1b2e.tar.gz |
lavfi: support audio in avfilter_copy_frame_props().
-rw-r--r-- | libavfilter/avfilter.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index d42659112a..91eb7f97cf 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -684,19 +684,26 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque int avfilter_copy_frame_props(AVFilterBufferRef *dst, const AVFrame *src) { - if (dst->type != AVMEDIA_TYPE_VIDEO) - return AVERROR(EINVAL); - dst->pts = src->pts; dst->format = src->format; - dst->video->w = src->width; - dst->video->h = src->height; - dst->video->pixel_aspect = src->sample_aspect_ratio; - dst->video->interlaced = src->interlaced_frame; - dst->video->top_field_first = src->top_field_first; - dst->video->key_frame = src->key_frame; - dst->video->pict_type = src->pict_type; + switch (dst->type) { + case AVMEDIA_TYPE_VIDEO: + dst->video->w = src->width; + dst->video->h = src->height; + dst->video->pixel_aspect = src->sample_aspect_ratio; + dst->video->interlaced = src->interlaced_frame; + dst->video->top_field_first = src->top_field_first; + dst->video->key_frame = src->key_frame; + dst->video->pict_type = src->pict_type; + break; + case AVMEDIA_TYPE_AUDIO: + dst->audio->sample_rate = src->sample_rate; + dst->audio->channel_layout = src->channel_layout; + break; + default: + return AVERROR(EINVAL); + } return 0; } |