summaryrefslogtreecommitdiffstats
path: root/gst/avi/gstavimux.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2002-10-23 18:56:28 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2002-10-23 18:56:28 +0000
commitd0b157df9a7beabb7bf880a32a98db3d58f1a945 (patch)
treedaae7ba31986c72df913ff4a16955b6838876d46 /gst/avi/gstavimux.h
parent57dda8628611a04d7d139cc6ba2d1955dd9ae6ef (diff)
Make it loopbased and use only one video and one audio pad. framerate is also no longer a property but is requested f...
Original commit message from CVS: Make it loopbased and use only one video and one audio pad. framerate is also no longer a property but is requested from the source pad
Diffstat (limited to 'gst/avi/gstavimux.h')
-rw-r--r--gst/avi/gstavimux.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/gst/avi/gstavimux.h b/gst/avi/gstavimux.h
index f35e73e9..794cf617 100644
--- a/gst/avi/gstavimux.h
+++ b/gst/avi/gstavimux.h
@@ -46,18 +46,15 @@ extern "C" {
typedef struct _GstAviMux GstAviMux;
typedef struct _GstAviMuxClass GstAviMuxClass;
-#define MAX_NUM_AUDIO_PADS 8
-#define MAX_NUM_VIDEO_PADS 8
-
struct _GstAviMux {
GstElement element;
/* pads */
GstPad *srcpad;
- GstPad *audiosinkpad[MAX_NUM_AUDIO_PADS];
- gint num_audio_pads, num_audio_pads_connected;
- GstPad *videosinkpad[MAX_NUM_VIDEO_PADS];
- gint num_video_pads, num_video_pads_connected;
+ GstPad *audiosinkpad;
+ gboolean audio_pad_connected, audio_pad_eos;
+ GstPad *videosinkpad;
+ gboolean video_pad_connected, video_pad_eos;
/* timestamps of first and current frame + num_frames for fps calculation */
gdouble framerate;
@@ -92,6 +89,10 @@ struct _GstAviMux {
/* whether to use "large AVI files" or just stick to small indexed files */
gboolean enable_large_avi;
+
+ /* in order to be usable as a loopbased element, we need an internal
+ * 'buffered' buffer for each pad, so one for audio, one for video */
+ GstBuffer *audio_buffer_queue, *video_buffer_queue;
};
struct _GstAviMuxClass {