diff options
author | Jan Schmidt <jan@centricular.com> | 2014-10-07 16:33:07 +1100 |
---|---|---|
committer | Jan Schmidt <jan@centricular.com> | 2015-06-11 12:25:45 +1000 |
commit | 1f1e24f63f98bb552af49de68121946f5c624943 (patch) | |
tree | 49587761b35a48c63455c8278c722e79cc0bfdd2 | |
parent | 0fc0584210d4bc50233865e67f4debdb87c8666f (diff) |
viddec: Replicate any 3D/multiview info from input caps onto output
-rw-r--r-- | ext/libav/gstavviddec.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index 94bd368639..0521aecc47 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -1026,6 +1026,7 @@ gst_ffmpegviddec_negotiate (GstFFMpegVidDec * ffmpegdec, fps_d = 1; } } + GST_LOG_OBJECT (ffmpegdec, "setting framerate: %d/%d", fps_n, fps_d); out_info->fps_n = fps_n; out_info->fps_d = fps_d; @@ -1033,6 +1034,14 @@ gst_ffmpegviddec_negotiate (GstFFMpegVidDec * ffmpegdec, /* calculate and update par now */ gst_ffmpegviddec_update_par (ffmpegdec, in_info, out_info); + /* Copy stereo/multiview info from upstream if set */ + if (GST_VIDEO_INFO_MULTIVIEW_MODE (in_info) != GST_VIDEO_MULTIVIEW_MODE_NONE) { + GST_VIDEO_INFO_MULTIVIEW_MODE (out_info) = + GST_VIDEO_INFO_MULTIVIEW_MODE (in_info); + GST_VIDEO_INFO_MULTIVIEW_FLAGS (out_info) = + GST_VIDEO_INFO_MULTIVIEW_FLAGS (in_info); + } + if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (ffmpegdec))) goto negotiate_failed; |