Hi,
I'm trying to build playback application using GStreamer framework to play video files one after other. I'm using Gstreamer element playbin2 to playback video files. Once I receive EOS event of currently playing video file, I'm changing the playbin2 element uri to next video file and changing state of element to 'PLAYING'. But I see the application is getting stuck giving following two logs:
0:00:20.993270199 1493 0x222370 WARN oggdemux gstoggdemux.c:3486:gst_ogg_demux_loop:<oggdemux0> error: Internal data stream error.
0:00:20.993337749 1493 0x222370 WARN oggdemux gstoggdemux.c:3486:gst_ogg_demux_loop:<oggdemux0> error: stream stopped, reason not-negotiated
Error received from element oggdemux0: Internal data stream error.
Debugging information: gstoggdemux.c(3486): gst_ogg_demux_loop (): /GstPlayBin2:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0:
stream stopped, reason not-negotiated
My questions are:
1. Do I need to rebuild the pipeline and re-link all elements before starting playback of new video file?
2. As per documentation for playbin2, it supports 'about-to-finish' signal. I wrote code in my application to handle that signal and tried changing URI in this signal handler, but this also did not solved the issue.
Gstreamer version: 0.10.30
EZSDK Version: 5.03.01.15
Platform: DM814x_EVM
Thanks,