summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/indexing/indexmpeg.c4
-rw-r--r--gconf/gstreamer.schemas2
-rw-r--r--gst-libs/ext/ffmpeg/.gitignore1
-rw-r--r--gst-libs/gst/riff/riff.h1
-rw-r--r--gst-libs/gst/riff/riffutil.c2
-rw-r--r--gst-plugins.spec.in4
-rw-r--r--gst/modplug/gstmodplug.cc68
-rw-r--r--gst/modplug/gstmodplug.h2
8 files changed, 20 insertions, 64 deletions
diff --git a/examples/indexing/indexmpeg.c b/examples/indexing/indexmpeg.c
index 7540d163..a31f2a76 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 e1a2ebb1..c27278d5 100644
--- a/gconf/gstreamer.schemas
+++ b/gconf/gstreamer.schemas
@@ -5,7 +5,7 @@
<applyto>/system/gstreamer/default/audiosink</applyto>
<owner>gstreamer</owner>
<type>string</type>
- <default>osssink</default>
+ <default>osssink sync=false</default>
<locale name="C">
<short>default GStreamer audiosink</short>
<long>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.</long>
diff --git a/gst-libs/ext/ffmpeg/.gitignore b/gst-libs/ext/ffmpeg/.gitignore
deleted file mode 100644
index 20645e64..00000000
--- 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 1788672e..8d897251 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 e4c134fb..b363ddb8 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 a153c1c6..dc67ea86 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 <Uraeus@gnome.org>
+- Add aviparse plugin
+
* Fri Dec 27 2002 Thomas Vander Stichele <thomas at apestaart dot org>
- add virtual provides for audio sources and sinks
diff --git a/gst/modplug/gstmodplug.cc b/gst/modplug/gstmodplug.cc
index b0562d12..a6f6ca3d 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 0e8356c8..901670c8 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;
};