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>
This commit is contained in:
Mathieu Duponchelle 2020-05-27 16:30:41 +02:00
parent 797c7e1bdf
commit a5850215ba

View file

@ -951,6 +951,10 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream)
case AVMEDIA_TYPE_VIDEO: case AVMEDIA_TYPE_VIDEO:
templ = oclass->videosrctempl; templ = oclass->videosrctempl;
num = demux->videopads++; 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; break;
case AVMEDIA_TYPE_AUDIO: case AVMEDIA_TYPE_AUDIO:
templ = oclass->audiosrctempl; templ = oclass->audiosrctempl;