Dynamic pipeline, "non-strictly-monotonic PTS" warning with x264enc after switching source

popo2 popo2 poposhi at gmail.com
Mon Nov 26 14:15:29 PST 2012


I've built a pipeline that goes something like:

filesrc -> decodebin -> video/audio encoders -> flvmux -> fdsink

The encoders portion have audioconvert, videoconvert, etc. elements. The
video is encoded with x264enc and the audio is encoded with lamemp3enc.

I catch the EOS event before it reaches the encoders and use it to swap out
filesrc and decodebin with new elements to read another (different or same)
video file, and then drop the EOS so that it doesn't pass on to the
encoders/mux/fdsink. I plan to use other elements (not necessarily
file-based) and the filesrc is only for testing at the moment.

Unfortunately, while the pipeline seems to run fine after the switch,
x264enc throws the warning "x264enc :0::<x264enc0> non-strictly-monotonic
PTS" and the resulting file is broken past the first video. Data is still
being emitted but it's not playable because of the PTS reverting back to 0.

Do I have to transfer some timing information, or how else can I fix this
issue?

I need to keep a long running FLV stream with no interruption between source
 changes.

Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121126/af8717e4/attachment-0001.html>


More information about the gstreamer-devel mailing list