matroskademux: sprinkle a few branch prediction macros

This commit is contained in:
Mark Nauwelaerts 2009-09-23 09:50:37 +02:00
parent 195883b30a
commit 702df566c3

View file

@ -4989,7 +4989,7 @@ gst_matroska_demux_loop (GstPad * pad)
GstFlowReturn ret; GstFlowReturn ret;
/* first, if we're to start, let's actually get starting */ /* first, if we're to start, let's actually get starting */
if (demux->state == GST_MATROSKA_DEMUX_STATE_START) { if (G_UNLIKELY (demux->state == GST_MATROSKA_DEMUX_STATE_START)) {
ret = gst_matroska_demux_init_stream (demux); ret = gst_matroska_demux_init_stream (demux);
if (ret != GST_FLOW_OK) { if (ret != GST_FLOW_OK) {
GST_WARNING_OBJECT (demux, "init stream failed!"); GST_WARNING_OBJECT (demux, "init stream failed!");
@ -4998,15 +4998,14 @@ gst_matroska_demux_loop (GstPad * pad)
demux->state = GST_MATROSKA_DEMUX_STATE_HEADER; demux->state = GST_MATROSKA_DEMUX_STATE_HEADER;
} }
/* If we have to close a segment are send a new segment do /* If we have to close a segment, send a new segment to do this now */
* this now */
if (demux->state == GST_MATROSKA_DEMUX_STATE_DATA) { if (G_LIKELY (demux->state == GST_MATROSKA_DEMUX_STATE_DATA)) {
if (demux->close_segment) { if (G_UNLIKELY (demux->close_segment)) {
gst_matroska_demux_send_event (demux, demux->close_segment); gst_matroska_demux_send_event (demux, demux->close_segment);
demux->close_segment = NULL; demux->close_segment = NULL;
} }
if (demux->new_segment) { if (G_UNLIKELY (demux->new_segment)) {
gst_matroska_demux_send_event (demux, demux->new_segment); gst_matroska_demux_send_event (demux, demux->new_segment);
demux->new_segment = NULL; demux->new_segment = NULL;
} }
@ -5017,7 +5016,7 @@ gst_matroska_demux_loop (GstPad * pad)
goto pause; goto pause;
/* check if we're at the end of a configured segment */ /* check if we're at the end of a configured segment */
if (GST_CLOCK_TIME_IS_VALID (demux->segment.stop)) { if (G_LIKELY (GST_CLOCK_TIME_IS_VALID (demux->segment.stop))) {
guint i; guint i;
g_assert (demux->num_streams == demux->src->len); g_assert (demux->num_streams == demux->src->len);
@ -5033,7 +5032,7 @@ gst_matroska_demux_loop (GstPad * pad)
} }
} }
if (ebml->offset == gst_ebml_read_get_length (ebml)) { if (G_UNLIKELY (ebml->offset == gst_ebml_read_get_length (ebml))) {
GST_LOG_OBJECT (demux, "Reached end of stream, sending EOS"); GST_LOG_OBJECT (demux, "Reached end of stream, sending EOS");
ret = GST_FLOW_UNEXPECTED; ret = GST_FLOW_UNEXPECTED;
goto pause; goto pause;