gst/audioscale/gstaudioscale.c: Fix for #162819 - make audioscale reusable

Original commit message from CVS:

patch by: Ronald Bultje <rbultje@ronald.bitfreak.net>

* gst/audioscale/gstaudioscale.c:
Fix for #162819 - make audioscale reusable
Fixes playback of more than one file with playbin/totem
This commit is contained in:
Ronald Bultje 2005-01-03 16:19:03 +00:00 committed by Thomas Vander Stichele
parent b38b229a96
commit 7df601d436
2 changed files with 25 additions and 0 deletions

View file

@ -1,3 +1,11 @@
2005-01-03 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/audioscale/gstaudioscale.c:
Fix for #162819 - make audioscale reusable
Fixes playback of more than one file with playbin/totem
2004-12-29 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/ffmpegcolorspace/avcodec.h:

View file

@ -109,6 +109,7 @@ static void gst_audioscale_init (Audioscale * audioscale);
static void gst_audioscale_dispose (GObject * object);
static void gst_audioscale_chain (GstPad * pad, GstData * _data);
static GstElementStateReturn gst_audioscale_change_state (GstElement * element);
static void gst_audioscale_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
@ -166,6 +167,7 @@ static void gst_audioscale_class_init (AudioscaleClass * klass)
gobject_class->set_property = gst_audioscale_set_property;
gobject_class->get_property = gst_audioscale_get_property;
gobject_class->dispose = gst_audioscale_dispose;
gstelement_class->change_state = gst_audioscale_change_state;
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FILTERLEN,
g_param_spec_int ("filter_length", "filter_length", "filter_length",
@ -594,6 +596,21 @@ static void gst_audioscale_chain (GstPad * pad, GstData * _data)
}
static GstElementStateReturn gst_audioscale_change_state (GstElement * element)
{
Audioscale *audioscale = GST_AUDIOSCALE (element);
switch (GST_STATE_TRANSITION (element)) {
case GST_STATE_PAUSED_TO_READY:
audioscale->gst_resample_offset = 0;
break;
default:
break;
}
return parent_class->change_state (element);
}
static void
gst_audioscale_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)