GNOME Bugzilla – Bug 736800
dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found
Last modified: 2014-11-07 22:59:58 UTC
Send missing FLUSH_STOP when no seeking period is found, so downstream is not stuck in the flushing state.
Created attachment 286374 [details] [review] [PATCH] dashdemux: send missing FLUSH_STOP when no seeking period is found
Created attachment 286383 [details] [review] [PATCH] mssdemux: send missing FLUSH_STOP when no fragment period is found Same patch apply for mssdemux. I can open a new bug if required.
Review of attachment 286374 [details] [review]: The patch looks good and works. While we are fixing this, the complete fix would be to also send an EOS (from the streaming thread) as the seek position is beyond the media duration. Can you provide a new patch?
Comment on attachment 286374 [details] [review] [PATCH] dashdemux: send missing FLUSH_STOP when no seeking period is found Missing the EOS part as Thiago said
Comment on attachment 286383 [details] [review] [PATCH] mssdemux: send missing FLUSH_STOP when no fragment period is found Likewise
Created attachment 286499 [details] [review] [PATCH] dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found Patch updated. I think we are pretty safe to send EOS right after the FLUSH_STOP event as gst_dash_demux_stop has been called previously, stopping all tasks.
Comment on attachment 286499 [details] [review] [PATCH] dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found The EOS event should be sent from the streaming thread, not the seek thread (which is usually the application thread).
Created attachment 286965 [details] [review] [PATCH] dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found Patch updated. EOS is now sent from the streaming thread, here is how it happens: - stream_eos is set to TRUE from the event handler, then we restart the download tasks after sending FLUSH_STOP, - from the download task, gst_dash_demux_download_next_fragment returns GST_FLOW_EOS as stream_eos is set to TRUE and push EOS from the related pad.
Comment on attachment 286965 [details] [review] [PATCH] dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found Makes sense :) Same change is probably needed in mssdemux? I know that HLS does it already
commit 5ae991095d54cd8a93c67ada37376804eca5c3cd Author: Matthieu Bouron <matthieu.bouron@collabora.com> Date: Wed Sep 17 15:22:59 2014 +0200 dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found https://bugzilla.gnome.org/show_bug.cgi?id=736800 mssdemux seeks don't fail and it already handles the EOS case correctly.