summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2020-05-27 16:30:41 +0200
committerMathieu Duponchelle <mathieu@centricular.com>2020-05-27 16:34:10 +0200
commita5850215babe4359a032fcb7d2e614a6209fa1f6 (patch)
treed8ca0d1145b270819e057b6123269664d24d32b5 /ext
parent797c7e1bdf3dbd291ccffdf1ae236474f27d2d1c (diff)
downloadgst-libav-a5850215babe4359a032fcb7d2e614a6209fa1f6.tar.gz
avdemux: update the context we use to determine stream's caps
The discovered frame rate is only available on the AVStream itself. Updating the temporary context framerate before building caps from it seems like a pretty non-intrusive approach. Fixes #75 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/74>
Diffstat (limited to 'ext')
-rw-r--r--ext/libav/gstavdemux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c
index 66f6bb1..21b46aa 100644
--- a/ext/libav/gstavdemux.c
+++ b/ext/libav/gstavdemux.c
@@ -951,6 +951,10 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream)
case AVMEDIA_TYPE_VIDEO:
templ = oclass->videosrctempl;
num = demux->videopads++;
+ /* These are not part of the codec parameters we built the
+ * context from */
+ ctx->framerate.num = avstream->r_frame_rate.num;
+ ctx->framerate.den = avstream->r_frame_rate.den;
break;
case AVMEDIA_TYPE_AUDIO:
templ = oclass->audiosrctempl;