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:
Thiago Santos 2011-12-29 16:56:46 -03:00
parent ee7f9f4228
commit 71fe1ad070

View file

@ -453,7 +453,8 @@ gst_output_selector_switch (GstOutputSelector * osel)
/* Switch */
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)) {
osel->active_srcpad = osel->pending_srcpad;
res = TRUE;
@ -464,23 +465,25 @@ gst_output_selector_switch (GstOutputSelector * osel)
/* Send NEWSEGMENT event and latest buffer if switching succeeded
* and we already have a valid segment configured */
if (res && osel->segment.format != GST_FORMAT_UNDEFINED) {
/* Send NEWSEGMENT to the pad we are going to switch to */
seg = &osel->segment;
if (res) {
if (osel->segment.format != GST_FORMAT_UNDEFINED) {
/* Send NEWSEGMENT to the pad we are going to switch to */
seg = &osel->segment;
/* If resending then mark newsegment start and position accordingly */
if (osel->resend_latest && osel->latest_buffer &&
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
} else {
start = position = seg->last_stop;
}
ev = gst_event_new_new_segment (TRUE, seg->rate,
seg->format, start, seg->stop, position);
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
GST_WARNING_OBJECT (osel,
"newsegment handling failed in %" GST_PTR_FORMAT,
osel->active_srcpad);
/* If resending then mark newsegment start and position accordingly */
if (osel->resend_latest && osel->latest_buffer &&
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
} else {
start = position = seg->last_stop;
}
ev = gst_event_new_new_segment (TRUE, seg->rate,
seg->format, start, seg->stop, position);
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
GST_WARNING_OBJECT (osel,
"newsegment handling failed in %" GST_PTR_FORMAT,
osel->active_srcpad);
}
}
/* Resend latest buffer to newly switched pad */