[Bug 750761] inputselector: Handle different duration track selection

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jun 12 08:36:18 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=750761

--- Comment #22 from kevin <kevinbing.song at gmail.com> ---
(In reply to Sebastian Dröge (slomo) from comment #19)
> Review of attachment 305127 [details] [review]:
> 
> ::: plugins/elements/gstinputselector.c
> @@ +114,2 @@
>  #define DEFAULT_SYNC_STREAMS TRUE
> +#define DEFAULT_SYNC_MODE GST_INPUT_SELECTOR_SYNC_MODE_CLOCK
> 
> Don't change the default, it doesn't generally make sense to use the clock
> sync mode
> 
Ok, still need consider how to handle this. we shouldn't block all input buffer
when EOS, the reason is upstream will buffer too many data in streaming case.
> @@ +478,3 @@
>      case GST_EVENT_FLUSH_STOP:
> +      /* Shouldn't use gst_selector_pad_reset () to avoid reset
> events_pending
> +       * as still need send sticky event when switch to one EOS track and
> seek
> 
> FLUSH_STOP should reset everything, EOS and SEGMENT sticky events (of this
> pad!) should go away at least. Others not so much
> 
Remove EOS and SEGMENT will do in pad. here just don't set events_pending to
FALSE, so chain () can send the sticky event when seek in the case: long
track->short track (reach EOS) -> seek to the point that the track have media
data.
> Can you make gst_selector_pad_reset() take a boolean parameter for switching
> between these?
Ok.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list