qtmux: Adding some ifs for protection

Adding somes ifs to protect against warning conditions
that might happen when upstream element is not sane

Fixes #600895
This commit is contained in:
Thiago Santos 2009-11-06 00:46:12 -03:00
parent 892555955a
commit fb9d7630e1
2 changed files with 10 additions and 5 deletions

View file

@ -2425,9 +2425,13 @@ atom_trak_update_duration (AtomTRAK * trak, guint64 moov_timescale)
{
trak->mdia.mdhd.time_info.duration =
atom_stts_get_total_duration (&trak->mdia.minf.stbl.stts);
trak->tkhd.duration =
gst_util_uint64_scale (trak->mdia.mdhd.time_info.duration, moov_timescale,
trak->mdia.mdhd.time_info.timescale);
if (trak->mdia.mdhd.time_info.timescale != 0) {
trak->tkhd.duration =
gst_util_uint64_scale (trak->mdia.mdhd.time_info.duration,
moov_timescale, trak->mdia.mdhd.time_info.timescale);
} else {
trak->tkhd.duration = 0;
}
}
static guint32

View file

@ -1126,7 +1126,7 @@ gst_qt_mux_stop_file (GstQTMux * qtmux)
GST_PAD_NAME (qtpad->collect.pad));
ret = gst_qt_mux_add_buffer (qtmux, qtpad, NULL);
if (ret != GST_FLOW_OK)
GST_DEBUG_OBJECT (qtmux, "Failed to send last buffer for %s, "
GST_WARNING_OBJECT (qtmux, "Failed to send last buffer for %s, "
"flow return: %s", GST_PAD_NAME (qtpad->collect.pad),
gst_flow_get_name (ret));
}
@ -1405,7 +1405,8 @@ not_negotiated:
GST_ELEMENT_ERROR (qtmux, CORE, NEGOTIATION, (NULL),
("format wasn't negotiated before buffer flow on pad %s",
GST_PAD_NAME (pad->collect.pad)));
gst_buffer_unref (buf);
if (buf)
gst_buffer_unref (buf);
return GST_FLOW_NOT_NEGOTIATED;
}
}