mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-03 01:02:19 +00:00
output-selector: Do not false warn about unlinked pad
When output-selector didn't receive a newsegment event it would warn about pad being unlinked when switching pads. Making the logs wrong and misleading.
This commit is contained in:
parent
ee7f9f4228
commit
71fe1ad070
1 changed files with 20 additions and 17 deletions
|
@ -453,7 +453,8 @@ gst_output_selector_switch (GstOutputSelector * osel)
|
||||||
|
|
||||||
/* Switch */
|
/* Switch */
|
||||||
GST_OBJECT_LOCK (GST_OBJECT (osel));
|
GST_OBJECT_LOCK (GST_OBJECT (osel));
|
||||||
GST_INFO ("switching to pad %" GST_PTR_FORMAT, osel->pending_srcpad);
|
GST_INFO_OBJECT (osel, "switching to pad %" GST_PTR_FORMAT,
|
||||||
|
osel->pending_srcpad);
|
||||||
if (gst_pad_is_linked (osel->pending_srcpad)) {
|
if (gst_pad_is_linked (osel->pending_srcpad)) {
|
||||||
osel->active_srcpad = osel->pending_srcpad;
|
osel->active_srcpad = osel->pending_srcpad;
|
||||||
res = TRUE;
|
res = TRUE;
|
||||||
|
@ -464,23 +465,25 @@ gst_output_selector_switch (GstOutputSelector * osel)
|
||||||
|
|
||||||
/* Send NEWSEGMENT event and latest buffer if switching succeeded
|
/* Send NEWSEGMENT event and latest buffer if switching succeeded
|
||||||
* and we already have a valid segment configured */
|
* and we already have a valid segment configured */
|
||||||
if (res && osel->segment.format != GST_FORMAT_UNDEFINED) {
|
if (res) {
|
||||||
/* Send NEWSEGMENT to the pad we are going to switch to */
|
if (osel->segment.format != GST_FORMAT_UNDEFINED) {
|
||||||
seg = &osel->segment;
|
/* Send NEWSEGMENT to the pad we are going to switch to */
|
||||||
|
seg = &osel->segment;
|
||||||
|
|
||||||
/* If resending then mark newsegment start and position accordingly */
|
/* If resending then mark newsegment start and position accordingly */
|
||||||
if (osel->resend_latest && osel->latest_buffer &&
|
if (osel->resend_latest && osel->latest_buffer &&
|
||||||
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
|
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
|
||||||
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
|
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
|
||||||
} else {
|
} else {
|
||||||
start = position = seg->last_stop;
|
start = position = seg->last_stop;
|
||||||
}
|
}
|
||||||
ev = gst_event_new_new_segment (TRUE, seg->rate,
|
ev = gst_event_new_new_segment (TRUE, seg->rate,
|
||||||
seg->format, start, seg->stop, position);
|
seg->format, start, seg->stop, position);
|
||||||
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
|
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
|
||||||
GST_WARNING_OBJECT (osel,
|
GST_WARNING_OBJECT (osel,
|
||||||
"newsegment handling failed in %" GST_PTR_FORMAT,
|
"newsegment handling failed in %" GST_PTR_FORMAT,
|
||||||
osel->active_srcpad);
|
osel->active_srcpad);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Resend latest buffer to newly switched pad */
|
/* Resend latest buffer to newly switched pad */
|
||||||
|
|
Loading…
Reference in a new issue