summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-01-19 17:54:31 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-01-19 17:54:31 +0000
commit012d30270f252c6cb4654f8f02b39c1cf7b65e9c (patch)
tree527017d127285560ed3ac3fdfeee7dc838943cf5
parentbb3e687dcba08ccd09d6c5029a636fbbce2dec2f (diff)
Don't push empty buffers
Original commit message from CVS: Don't push empty buffers
-rw-r--r--gst/avi/gstavidemux.c51
1 files changed, 23 insertions, 28 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index e461a58a..edb6b9ea 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -603,23 +603,21 @@ gst_avidemux_process_chunk (GstAviDemux *avi_demux, guint64 *filepos,
if (*chunksize) {
buf = gst_bytestream_peek (bs, *chunksize);
+
+ GST_BUFFER_TIMESTAMP (buf) = avi_demux->next_time;
+ avi_demux->next_time += avi_demux->time_interval;
+
+ if (avi_demux->video_need_flush[0]) {
+ /* FIXME, do some flush event here */
+ avi_demux->video_need_flush[0] = FALSE;
+ }
+
+ GST_DEBUG (0,"gst_avi_demux_chain: send video buffer %08x\n", *chunksize);
+ gst_pad_push(avi_demux->video_pad[0], buf);
+ GST_DEBUG (0,"gst_avi_demux_chain: sent video buffer %08x %p\n",
+ *chunksize, &avi_demux->video_pad[0]);
+ avi_demux->current_frame++;
}
- else {
- buf = gst_buffer_new ();
- }
- GST_BUFFER_TIMESTAMP (buf) = avi_demux->next_time;
- avi_demux->next_time += avi_demux->time_interval;
-
- if (avi_demux->video_need_flush[0]) {
- /* FIXME, do some flush event here */
- avi_demux->video_need_flush[0] = FALSE;
- }
-
- GST_DEBUG (0,"gst_avi_demux_chain: send video buffer %08x\n", *chunksize);
- gst_pad_push(avi_demux->video_pad[0], buf);
- GST_DEBUG (0,"gst_avi_demux_chain: sent video buffer %08x %p\n",
- *chunksize, &avi_demux->video_pad[0]);
- avi_demux->current_frame++;
}
*chunksize = (*chunksize + 1) & ~1;
break;
@@ -634,20 +632,17 @@ gst_avidemux_process_chunk (GstAviDemux *avi_demux, guint64 *filepos,
if (*chunksize) {
buf = gst_bytestream_peek (bs, *chunksize);
- }
- else {
- buf = gst_buffer_new ();
- }
- if (avi_demux->audio_need_flush[0]) {
- GST_DEBUG (0,"audio flush\n");
- avi_demux->audio_need_flush[0] = FALSE;
- /* FIXME, do some flush event here */
- }
+ if (avi_demux->audio_need_flush[0]) {
+ GST_DEBUG (0,"audio flush\n");
+ avi_demux->audio_need_flush[0] = FALSE;
+ /* FIXME, do some flush event here */
+ }
- GST_DEBUG (0,"gst_avi_demux_chain: send audio buffer %08x\n", *chunksize);
- gst_pad_push (avi_demux->audio_pad[0], buf);
- GST_DEBUG (0,"gst_avi_demux_chain: sent audio buffer %08x\n", *chunksize);
+ GST_DEBUG (0,"gst_avi_demux_chain: send audio buffer %08x\n", *chunksize);
+ gst_pad_push (avi_demux->audio_pad[0], buf);
+ GST_DEBUG (0,"gst_avi_demux_chain: sent audio buffer %08x\n", *chunksize);
+ }
}
*chunksize = (*chunksize + 1) & ~1;
break;