[Bug 736655] basesink: preroll issue for some clips which audio is shorter than video
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sat Feb 14 19:20:17 PST 2015
https://bugzilla.gnome.org/show_bug.cgi?id=736655
kevin <kevinbing.song at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|1.2.3 |1.4.1
--- Comment #103 from kevin <kevinbing.song at gmail.com> ---
(In reply to Sebastian Dröge (slomo) from comment #98)
> Review of attachment 295409 [details] [review]:
>
> Looks good, just some minor things that should be fast to update :) Then
> this should be ready to be merged
>
> ::: gst/playback/gststreamsynchronizer.c
> @@ +207,3 @@
> +/* must be called with the STREAM_SYNCHRONIZER_LOCK */
> +static gboolean
> +gst_stream_synchronizer_wait (GstStreamSynchronizer * self, GstPad * pad)
>
> Can this function also be used for the g_cond_wait() in the SEGMENT event
> handler? I think it should be used there too for consistency (and modified
> to work in both cases).
>
Accept, will do it in another patch.
> @@ +445,3 @@
> GST_STREAM_SYNCHRONIZER_LOCK (self);
> stream = gst_pad_get_element_private (pad);
> + stream->flushing = TRUE;
>
> See the "if (stream)" some lines below :) You need to check for NULL
>
Accept.
> @@ +550,3 @@
> +
> + /* send eos if haven't seed data as sink can't handle if haven't
> negotiate */
> + if (!seen_data || self->eos) {
>
> The only case when we get here and this is not true, is when we're flushing?
> Document that and maybe even add an assertion :)
>
Add more comments for seen_data.
> @@ +904,3 @@
> + if (stream->is_eos && !stream->eos_sent) {
> + self->send_gap_event = TRUE;
> + g_cond_broadcast (&stream->stream_finish_cond);
>
> Please document in a comment here why a GAP event should be sent, also why
> not another one is required when going from PAUSED to PLAYING
Add comments on why send GAP event. PAUSED to PLAYING needn't pre-roll, needn't
send GAP event in change_state (). chain () will send GAP event in PLAYING
state.
--
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