Skip to content

Commit 1cfe79a

Browse files
committed
cefsrc: Correctly return NO_PREROLL for is-live
1 parent bc5921a commit 1cfe79a

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

gstcefsrc.cc

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -951,14 +951,23 @@ gst_cef_src_change_state(GstElement *src, GstStateChange transition)
951951

952952
break;
953953
}
954+
case GST_STATE_CHANGE_READY_TO_PAUSED:
955+
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
956+
{
957+
// TODO: shouldn't we return NO_PREROLL here?
958+
// https://gstreamer.freedesktop.org/documentation/additional/design/live-source.html?gi-language=c
959+
// result = GST_STATE_CHANGE_NO_PREROLL;
960+
break;
961+
}
954962
default:
955963
break;
956964
}
957965

958-
if (result == GST_STATE_CHANGE_FAILURE) return result;
959-
result = GST_ELEMENT_CLASS(parent_class)->change_state(src, transition);
966+
if (result == GST_STATE_CHANGE_FAILURE || result == GST_STATE_CHANGE_NO_PREROLL) {
967+
return result;
968+
}
960969

961-
return result;
970+
return GST_ELEMENT_CLASS(parent_class)->change_state(src, transition);
962971
}
963972

964973
static gboolean

0 commit comments

Comments
 (0)