gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and interleave respectively.

Original commit message from CVS:
2004-02-20  Andy Wingo  <wingo@pobox.com>

* gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and
interleave respectively.

* gst/interleave/deinterleave.c: New plugin: deinterleave
(replaces on oneton).
* gst/interleave/interleave.c: New plugin: interleave.
* gst/interleave/plugin.h: Support file.
* gst/interleave/plugin.c: Support file.

* configure.ac: Remove intfloat and oneton, add interleave.

* ext/sndfile/gstsf.c: Handle events better.

* gst/audioconvert/gstaudioconvert.c: Change to support int2float
and float2int operation. int2float has scheduling problems as
noted in in2float_chain.
This commit is contained in:
Andy Wingo 2004-02-20 14:17:57 +00:00
parent ea5845cb2b
commit 22b1839fe2
3 changed files with 36 additions and 7 deletions

View file

@ -1,3 +1,22 @@
2004-02-20 Andy Wingo <wingo@pobox.com>
* gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and
interleave respectively.
* gst/interleave/deinterleave.c: New plugin: deinterleave
(replaces on oneton).
* gst/interleave/interleave.c: New plugin: interleave.
* gst/interleave/plugin.h: Support file.
* gst/interleave/plugin.c: Support file.
* configure.ac: Remove intfloat and oneton, add interleave.
* ext/sndfile/gstsf.c: Handle events better.
* gst/audioconvert/gstaudioconvert.c: Change to support int2float
and float2int operation. int2float has scheduling problems as
noted in in2float_chain.
2004-02-20 Benjamin Otte <otte@gnome.org> 2004-02-20 Benjamin Otte <otte@gnome.org>
* ext/xine/Makefile.am: * ext/xine/Makefile.am:

View file

@ -346,7 +346,7 @@ GST_PLUGINS_ALL="\
flx \ flx \
goom \ goom \
id3 \ id3 \
intfloat \ interleave \
law \ law \
level \ level \
matroska \ matroska \
@ -359,7 +359,6 @@ GST_PLUGINS_ALL="\
mpegaudioparse \ mpegaudioparse \
mpegstream \ mpegstream \
monoscope \ monoscope \
oneton \
overlay \ overlay \
passthrough \ passthrough \
playondemand \ playondemand \
@ -1559,7 +1558,7 @@ gst/filter/Makefile
gst/flx/Makefile gst/flx/Makefile
gst/goom/Makefile gst/goom/Makefile
gst/id3/Makefile gst/id3/Makefile
gst/intfloat/Makefile gst/interleave/Makefile
gst/law/Makefile gst/law/Makefile
gst/level/Makefile gst/level/Makefile
gst/matroska/Makefile gst/matroska/Makefile
@ -1574,7 +1573,6 @@ gst/mpegstream/Makefile
gst/modplug/Makefile gst/modplug/Makefile
gst/modplug/libmodplug/Makefile gst/modplug/libmodplug/Makefile
gst/monoscope/Makefile gst/monoscope/Makefile
gst/oneton/Makefile
gst/overlay/Makefile gst/overlay/Makefile
gst/passthrough/Makefile gst/passthrough/Makefile
gst/playondemand/Makefile gst/playondemand/Makefile

View file

@ -535,7 +535,7 @@ gst_sf_link (GstPad *pad, const GstCaps *caps)
gst_structure_get_int (structure, "rate", &this->rate); gst_structure_get_int (structure, "rate", &this->rate);
gst_structure_get_int (structure, "buffer-frames", &this->buffer_frames); gst_structure_get_int (structure, "buffer-frames", &this->buffer_frames);
INFO_OBJ (this, "linked pad %s:%s with fixed caps, frames=%d, rate=%d", INFO_OBJ (this, "linked pad %s:%s with fixed caps, rate=%d, frames=%d",
GST_DEBUG_PAD_NAME (pad), this->rate, this->buffer_frames); GST_DEBUG_PAD_NAME (pad), this->rate, this->buffer_frames);
if (this->numchannels) { if (this->numchannels) {
@ -756,6 +756,7 @@ gst_sf_loop (GstElement *element)
for (i=0,l=this->channels; l; l=l->next,i++) { for (i=0,l=this->channels; l; l=l->next,i++) {
channel = GST_SF_CHANNEL (l); channel = GST_SF_CHANNEL (l);
pull_again:
in = GST_BUFFER (gst_pad_pull (channel->pad)); in = GST_BUFFER (gst_pad_pull (channel->pad));
if (buffer_frames == 0) { if (buffer_frames == 0) {
@ -776,13 +777,24 @@ gst_sf_loop (GstElement *element)
return; /* we've already set gst_element_error */ return; /* we've already set gst_element_error */
if (GST_IS_EVENT (in)) { if (GST_IS_EVENT (in)) {
num_to_write = 0; switch (GST_EVENT_TYPE (in)) {
} else { case GST_EVENT_EOS:
case GST_EVENT_INTERRUPT:
num_to_write = 0;
break;
default:
goto pull_again;
break;
}
}
if (num_to_write) {
data = (gfloat*)GST_BUFFER_DATA (in); data = (gfloat*)GST_BUFFER_DATA (in);
num_to_write = MIN (num_to_write, GST_BUFFER_SIZE (in) / sizeof (gfloat)); num_to_write = MIN (num_to_write, GST_BUFFER_SIZE (in) / sizeof (gfloat));
for (j=0; j<num_to_write; j++) for (j=0; j<num_to_write; j++)
buf[j * nchannels + i % nchannels] = data[j]; buf[j * nchannels + i % nchannels] = data[j];
} }
gst_data_unref ((GstData*)in); gst_data_unref ((GstData*)in);
} }