summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-06-09 14:30:16 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-06-09 14:30:16 +0000
commitbebb579a912c8ec3a7530d2258f074b9ec4ffecf (patch)
tree0b97975bf2c316c3d6d100084926cb3ed9edec26
parent1d77cd3e78bd1a26c7bdfc34f4fc3f3a734bfd7b (diff)
Move discont event back to where it was :)
Original commit message from CVS: Move discont event back to where it was :)
-rw-r--r--ext/mad/gstmad.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/ext/mad/gstmad.c b/ext/mad/gstmad.c
index de333843..98f1d371 100644
--- a/ext/mad/gstmad.c
+++ b/ext/mad/gstmad.c
@@ -54,7 +54,6 @@ struct _GstMad {
guint64 total_samples; /* the number of samples since the sync point */
gboolean restart;
- gboolean need_discont;
/* info */
struct mad_header header;
@@ -256,7 +255,6 @@ gst_mad_init (GstMad *mad)
mad->vbr_average = 0;
mad->vbr_rate = 0;
mad->restart = FALSE;
- mad->need_discont = FALSE;
GST_FLAG_SET (mad, GST_ELEMENT_EVENT_AWARE);
}
@@ -681,6 +679,7 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
gint64 value = GST_EVENT_DISCONT_OFFSET (event, i).value;
gint64 time;
GstFormat format;
+ GstEvent *discont;
/* see how long the input bytes take */
format = GST_FORMAT_TIME;
@@ -692,9 +691,10 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
}
mad->base_time = time;
- mad->need_discont = TRUE;
gst_event_free (event);
+ discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, time, NULL);
+ gst_pad_push (mad->srcpad, GST_BUFFER (discont));
break;
}
}
@@ -822,13 +822,6 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
}
if (GST_PAD_IS_CONNECTED (mad->srcpad)) {
- if (mad->need_discont) {
- GstEvent *discont;
-
- discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, GST_BUFFER_TIMESTAMP (outbuffer), NULL);
- gst_pad_push (mad->srcpad, GST_BUFFER (discont));
- mad->need_discont = FALSE;
- }
gst_pad_push (mad->srcpad, outbuffer);
}
else {
@@ -840,6 +833,7 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
mad->tempsize = 0;
goto end;
}
+
next:
/* figure out how many bytes mad consumed */