From efaa7abf77373b95e8cbbed4f651d017975eb518 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Wed, 22 Jan 2003 14:37:43 +0000 Subject: Think Sane Default Original commit message from CVS: Think Sane Default --- examples/indexing/indexmpeg.c | 4 --- gconf/gstreamer.schemas | 2 +- gst-libs/ext/ffmpeg/.gitignore | 1 - gst-libs/gst/riff/riff.h | 1 - gst-libs/gst/riff/riffutil.c | 2 +- gst-plugins.spec.in | 4 +++ gst/modplug/gstmodplug.cc | 68 ++++++++---------------------------------- gst/modplug/gstmodplug.h | 2 ++ 8 files changed, 20 insertions(+), 64 deletions(-) delete mode 100644 gst-libs/ext/ffmpeg/.gitignore diff --git a/examples/indexing/indexmpeg.c b/examples/indexing/indexmpeg.c index 7540d1631..a31f2a763 100644 --- a/examples/indexing/indexmpeg.c +++ b/examples/indexing/indexmpeg.c @@ -153,10 +153,6 @@ make_mpeg_decoder_pipeline (const gchar *path, GstIndex *index) audio_bin = gst_bin_new ("audio_bin"); audio_decoder = gst_element_factory_make ("mad", "audio_decoder"); - setup_dynamic_linking (pipeline, demux, "audio_00", - gst_element_get_pad (audio_decoder, "sink"), - audio_bin, index); - gst_bin_add (GST_BIN (audio_bin), audio_decoder); if (index) { diff --git a/gconf/gstreamer.schemas b/gconf/gstreamer.schemas index e1a2ebb17..c27278d5e 100644 --- a/gconf/gstreamer.schemas +++ b/gconf/gstreamer.schemas @@ -5,7 +5,7 @@ /system/gstreamer/default/audiosink gstreamer string - osssink + osssink sync=false default GStreamer audiosink GStreamer can play audio using any number of output elements. Some possible choices are osssink, esdsink and alsasink. The audiosink can be a partial pipeline instead of just one element. diff --git a/gst-libs/ext/ffmpeg/.gitignore b/gst-libs/ext/ffmpeg/.gitignore deleted file mode 100644 index 20645e641..000000000 --- a/gst-libs/ext/ffmpeg/.gitignore +++ /dev/null @@ -1 +0,0 @@ -ffmpeg diff --git a/gst-libs/gst/riff/riff.h b/gst-libs/gst/riff/riff.h index 1788672e8..8d8972512 100644 --- a/gst-libs/gst/riff/riff.h +++ b/gst-libs/gst/riff/riff.h @@ -53,7 +53,6 @@ typedef enum { #define GST_RIFF_TAG_LIST MAKE_FOUR_CC('L','I','S','T') #define GST_RIFF_TAG_avih MAKE_FOUR_CC('a','v','i','h') #define GST_RIFF_TAG_strd MAKE_FOUR_CC('s','t','r','d') -#define GST_RIFF_TAG_strn MAKE_FOUR_CC('s','t','r','n') #define GST_RIFF_TAG_strh MAKE_FOUR_CC('s','t','r','h') #define GST_RIFF_TAG_strf MAKE_FOUR_CC('s','t','r','f') #define GST_RIFF_TAG_vedt MAKE_FOUR_CC('v','e','d','t') diff --git a/gst-libs/gst/riff/riffutil.c b/gst-libs/gst/riff/riffutil.c index e4c134fba..b363ddb8b 100644 --- a/gst-libs/gst/riff/riffutil.c +++ b/gst-libs/gst/riff/riffutil.c @@ -32,7 +32,7 @@ gulong gst_riff_fourcc_to_id(gchar *fourcc) { } gchar *gst_riff_id_to_fourcc(gulong id) { - static gchar fourcc[5]; + gchar *fourcc = (gchar *)g_malloc(5); g_return_val_if_fail(fourcc != NULL, NULL); diff --git a/gst-plugins.spec.in b/gst-plugins.spec.in index a153c1c6f..dc67ea86c 100644 --- a/gst-plugins.spec.in +++ b/gst-plugins.spec.in @@ -317,6 +317,7 @@ Plug-ins for playback of AVI format media files. %defattr(-, root, root) %{_libdir}/gstreamer-%{majorminor}/libgstavidemux.so %{_libdir}/gstreamer-%{majorminor}/libgstavimux.so +%{_libdir}/gstreamer-%{majorminor}/libgstaviparse.so %post -n gstreamer-avi %{_bindir}/gst-register --gst-mask=0 > /dev/null 2> /dev/null @@ -1545,6 +1546,9 @@ This package contains a basic audio and video playback library. /sbin/ldconfig %changelog +* Sun Jan 19 2003 Christian Schaller +- Add aviparse plugin + * Fri Dec 27 2002 Thomas Vander Stichele - add virtual provides for audio sources and sinks diff --git a/gst/modplug/gstmodplug.cc b/gst/modplug/gstmodplug.cc index b0562d125..a6f6ca3db 100644 --- a/gst/modplug/gstmodplug.cc +++ b/gst/modplug/gstmodplug.cc @@ -359,8 +359,6 @@ gst_modplug_init (GstModPlug *modplug) modplug->_16bit = TRUE; modplug->channel = 2; modplug->frequency = 44100; - - modplug->state = MODPLUG_STATE_NEED_TUNE; } @@ -412,7 +410,6 @@ gst_modplug_get_query_types (GstPad *pad) GST_QUERY_POSITION, (GstQueryType)0 }; - return gst_modplug_src_query_types; } @@ -478,7 +475,6 @@ gst_modplug_src_event (GstPad *pad, GstEvent *event) flush = GST_EVENT_SEEK_FLAGS (event) & GST_SEEK_FLAG_FLUSH; modplug->seek_at = GST_EVENT_SEEK_OFFSET (event); - break; } default: res = FALSE; @@ -579,29 +575,6 @@ modplug_negotiate (GstModPlug *modplug) return TRUE; } - -static void -gst_modplug_handle_event (GstModPlug *modplug) -{ - guint32 remaining; - GstEvent *event; - - gst_bytestream_get_status (modplug->bs, &remaining, &event); - - if (!event) { - g_warning ("modplug: no bytestream event"); - return; - } - - switch (GST_EVENT_TYPE (event)) { - case GST_EVENT_DISCONTINUOUS: - gst_bytestream_flush_fast (modplug->bs, remaining); - default: - gst_pad_event_default (modplug->sinkpad, event); - break; - } -} - static void gst_modplug_loop (GstElement *element) { @@ -616,7 +589,8 @@ gst_modplug_loop (GstElement *element) if (modplug->state == MODPLUG_STATE_NEED_TUNE) { /* GstBuffer *buf;*/ - + + modplug->total_samples = 0; modplug->seek_at = -1; modplug->need_discont = FALSE; modplug->eos = FALSE; @@ -650,21 +624,10 @@ gst_modplug_loop (GstElement *element) } */ - if (modplug->bs) - { - guint64 got; - - modplug->song_size = gst_bytestream_length (modplug->bs); - - got = gst_bytestream_peek_bytes (modplug->bs, &modplug->buffer_in, modplug->song_size); - - if ( got < modplug->song_size ) - { - gst_modplug_handle_event (modplug); - return; - } - modplug->state = MODPLUG_STATE_LOAD_TUNE; - } + modplug->song_size = gst_bytestream_length (modplug->bs); + + gst_bytestream_peek_bytes (modplug->bs, &modplug->buffer_in, modplug->song_size); + modplug->state = MODPLUG_STATE_LOAD_TUNE; } if (modplug->state == MODPLUG_STATE_LOAD_TUNE) @@ -678,9 +641,6 @@ gst_modplug_loop (GstElement *element) modplug->mSoundFile->Create (modplug->buffer_in, modplug->song_size); - gst_bytestream_flush (modplug->bs, modplug->song_size); - modplug->buffer_in = NULL; - modplug->audiobuffer = (guchar *) g_malloc (modplug->length); gst_modplug_update_metadata (modplug); @@ -689,7 +649,7 @@ gst_modplug_loop (GstElement *element) modplug->state = MODPLUG_STATE_PLAY_TUNE; } - if (modplug->state == MODPLUG_STATE_PLAY_TUNE && !modplug->eos) + if (modplug->state == MODPLUG_STATE_PLAY_TUNE) { if (modplug->seek_at != -1) { @@ -735,15 +695,11 @@ gst_modplug_loop (GstElement *element) gst_pad_push (modplug->srcpad, buffer_out); } else - if (GST_PAD_IS_LINKED (modplug->srcpad)) + if (GST_PAD_IS_USABLE (modplug->srcpad)) { - /* FIXME, hack, pull final EOS from peer */ - gst_bytestream_flush (modplug->bs, 1); - event = gst_event_new (GST_EVENT_EOS); - gst_pad_push (modplug->srcpad, GST_BUFFER (event)); - gst_element_set_eos (element); - modplug->eos = TRUE; + gst_pad_push (modplug->srcpad, GST_BUFFER (event)); + gst_element_set_eos (element); } } } @@ -774,9 +730,9 @@ gst_modplug_change_state (GstElement *element) gst_bytestream_destroy (modplug->bs); modplug->mSoundFile->Destroy (); g_free (modplug->audiobuffer); - modplug->buffer_in = NULL; + g_free (modplug->buffer_in); modplug->audiobuffer = NULL; - gst_caps_unref (modplug->streaminfo); + modplug->buffer_in = NULL; modplug->state = MODPLUG_STATE_NEED_TUNE; break; case GST_STATE_READY_TO_NULL: diff --git a/gst/modplug/gstmodplug.h b/gst/modplug/gstmodplug.h index 0e8356c88..901670c80 100644 --- a/gst/modplug/gstmodplug.h +++ b/gst/modplug/gstmodplug.h @@ -75,7 +75,9 @@ struct _GstModPlug { gboolean need_discont; gboolean eos; gint64 seek_at; + guint64 total_samples; guint64 song_size; + guint64 bytes_read; CSoundFile *mSoundFile; }; -- cgit v1.2.1