mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-27 11:32:51 +00:00
resindvd: fix wedge in preroll when playbin2 deinterlacing is enabled
When deinterlacing is enabled, an extra colorspace element is added. Colorspace is a basetransform, and is then the only basetransform element on the video path. A while ago, basetransform started delaying events till caps were set on its source pad. These things conspired to end up sending the DVD highlight events onto a blocked pad on subtitleoverlay. Ensuring these highlight events are only sent once we're in playing mode fixes the issue. https://bugzilla.gnome.org/show_bug.cgi?id=668762
This commit is contained in:
parent
73a8c272c0
commit
7a9fff74c6
1 changed files with 7 additions and 3 deletions
|
@ -1120,7 +1120,7 @@ rsn_dvdsrc_step (resinDvdSrc * src, gboolean have_dvd_lock)
|
|||
break;
|
||||
}
|
||||
|
||||
if (src->highlight_event && have_dvd_lock) {
|
||||
if (src->highlight_event && have_dvd_lock && src->in_playing) {
|
||||
GstEvent *hl_event = src->highlight_event;
|
||||
|
||||
src->highlight_event = NULL;
|
||||
|
@ -1411,8 +1411,12 @@ rsn_dvdsrc_create (GstBaseSrc * bsrc, guint64 offset,
|
|||
}
|
||||
}
|
||||
|
||||
highlight_event = src->highlight_event;
|
||||
src->highlight_event = NULL;
|
||||
if (src->in_playing) {
|
||||
highlight_event = src->highlight_event;
|
||||
src->highlight_event = NULL;
|
||||
} else {
|
||||
highlight_event = NULL;
|
||||
}
|
||||
|
||||
/* Schedule a clock callback for the any pending nav packet */
|
||||
rsn_dvdsrc_check_nav_blocks (src);
|
||||
|
|
Loading…
Reference in a new issue