diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 254b9a94df..5e72a67314 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -67,7 +67,6 @@ EXTRA_HFILES = \ $(top_srcdir)/ext/vorbis/gstvorbisparse.h \ $(top_srcdir)/ext/vorbis/gstvorbistag.h \ $(top_srcdir)/gst/adder/gstadder.h \ - $(top_srcdir)/gst/audioconvert/audioconvert.h \ $(top_srcdir)/gst/audioconvert/gstaudioconvert.h \ $(top_srcdir)/gst/audiotestsrc/gstaudiotestsrc.h \ $(top_srcdir)/gst/encoding/gstencodebin.h \ diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am index f796cd6ae0..78b5bf6dec 100644 --- a/gst-libs/gst/audio/Makefile.am +++ b/gst-libs/gst/audio/Makefile.am @@ -7,6 +7,7 @@ glib_enum_headers= \ audio-format.h \ audio-channels.h \ audio-channel-mix.h \ + audio-converter.h \ audio-info.h \ audio-quantize.h \ gstaudioringbuffer.h @@ -29,6 +30,7 @@ libgstaudio_@GST_API_VERSION@_la_SOURCES = \ audio-format.c \ audio-channels.c \ audio-channel-mix.c \ + audio-converter.c \ audio-info.c \ audio-quantize.c \ gstaudioringbuffer.c \ @@ -54,6 +56,7 @@ libgstaudio_@GST_API_VERSION@include_HEADERS = \ audio-format.h \ audio-channels.h \ audio-channel-mix.h \ + audio-converter.h \ audio-info.h \ audio-quantize.h \ gstaudioringbuffer.h \ diff --git a/gst/audioconvert/audioconvert.c b/gst-libs/gst/audio/audio-converter.c similarity index 98% rename from gst/audioconvert/audioconvert.c rename to gst-libs/gst/audio/audio-converter.c index bf7693bf7c..7c70c67320 100644 --- a/gst/audioconvert/audioconvert.c +++ b/gst-libs/gst/audio/audio-converter.c @@ -27,8 +27,8 @@ #include #include -#include "audioconvert.h" -#include "gstaudioconvertorc.h" +#include "audio-converter.h" +#include "gstaudiopack.h" /** * SECTION:audioconverter @@ -278,7 +278,7 @@ gst_audio_converter_new (GstAudioInfo * in, GstAudioInfo * out, /* step 2, optional convert from S32 to F64 for channel mix */ if (in_int && !out_int) { GST_INFO ("convert S32 to F64"); - convert->convert_in = (AudioConvertFunc) audio_convert_orc_s32_to_double; + convert->convert_in = (AudioConvertFunc) audio_orc_s32_to_double; format = GST_AUDIO_FORMAT_F64; } @@ -295,7 +295,7 @@ gst_audio_converter_new (GstAudioInfo * in, GstAudioInfo * out, /* step 4, optional convert for quantize */ if (!in_int && out_int) { GST_INFO ("convert F64 to S32"); - convert->convert_out = (AudioConvertFunc) audio_convert_orc_double_to_s32; + convert->convert_out = (AudioConvertFunc) audio_orc_double_to_s32; format = GST_AUDIO_FORMAT_S32; } /* step 5, optional quantize */ diff --git a/gst/audioconvert/audioconvert.h b/gst-libs/gst/audio/audio-converter.h similarity index 100% rename from gst/audioconvert/audioconvert.h rename to gst-libs/gst/audio/audio-converter.h diff --git a/gst-libs/gst/audio/audio.h b/gst-libs/gst/audio/audio.h index 4e695b134c..a48883fc13 100644 --- a/gst-libs/gst/audio/audio.h +++ b/gst-libs/gst/audio/audio.h @@ -29,6 +29,7 @@ #include #include #include +#include G_BEGIN_DECLS diff --git a/gst-libs/gst/audio/gstaudiopack.orc b/gst-libs/gst/audio/gstaudiopack.orc index 57484744d9..c13a688ce7 100644 --- a/gst-libs/gst/audio/gstaudiopack.orc +++ b/gst-libs/gst/audio/gstaudiopack.orc @@ -407,4 +407,19 @@ andl d1, t1, mask mulll t, r, 1103515245 addl r, t, 12345 +.function audio_orc_s32_to_double +.dest 8 d1 gdouble +.source 4 s1 gint32 +.temp 8 t1 + +convld t1, s1 +divd d1, t1, 2147483648.0L + +.function audio_orc_double_to_s32 +.dest 4 d1 gint32 +.source 8 s1 gdouble +.temp 8 t1 + +muld t1, s1, 2147483648.0L +convdl d1, t1 diff --git a/gst/audioconvert/Makefile.am b/gst/audioconvert/Makefile.am index 6923454f8b..baca31468b 100644 --- a/gst/audioconvert/Makefile.am +++ b/gst/audioconvert/Makefile.am @@ -1,22 +1,16 @@ plugin_LTLIBRARIES = libgstaudioconvert.la -ORC_SOURCE=gstaudioconvertorc -include $(top_srcdir)/common/orc.mak - libgstaudioconvert_la_SOURCES = \ gstaudioconvert.c \ - audioconvert.c \ plugin.c -nodist_libgstaudioconvert_la_SOURCES = $(ORC_NODIST_SOURCES) -libgstaudioconvert_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(ORC_CFLAGS) +libgstaudioconvert_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) libgstaudioconvert_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstaudioconvert_la_LIBADD = \ $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \ - $(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM) + $(GST_BASE_LIBS) $(GST_LIBS) $(LIBM) libgstaudioconvert_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = \ gstaudioconvert.h \ - audioconvert.h \ plugin.h diff --git a/gst/audioconvert/gstaudioconvert.h b/gst/audioconvert/gstaudioconvert.h index 86cec91d6c..7de172ad74 100644 --- a/gst/audioconvert/gstaudioconvert.h +++ b/gst/audioconvert/gstaudioconvert.h @@ -26,8 +26,6 @@ #include #include -#include "audioconvert.h" - #define GST_TYPE_AUDIO_CONVERT (gst_audio_convert_get_type()) #define GST_AUDIO_CONVERT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_CONVERT,GstAudioConvert)) #define GST_AUDIO_CONVERT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_CONVERT,GstAudioConvertClass)) diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index f2dbd5d99f..1a51fc6667 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -140,7 +140,7 @@ check_adder = endif if HAVE_ORC -check_orc = orc/video orc/audio orc/adder orc/audioconvert orc/volume orc/videotestsrc +check_orc = orc/video orc/audio orc/adder orc/volume orc/videotestsrc else check_orc = endif @@ -663,9 +663,6 @@ nodist_orc_audio_SOURCES = orc/audio.c orc_adder_CFLAGS = $(ORC_CFLAGS) orc_adder_LDADD = $(ORC_LIBS) -lorc-test-0.4 nodist_orc_adder_SOURCES = orc/adder.c -orc_audioconvert_CFLAGS = $(ORC_CFLAGS) -orc_audioconvert_LDADD = $(ORC_LIBS) -lorc-test-0.4 -nodist_orc_audioconvert_SOURCES = orc/audioconvert.c orc_volume_CFLAGS = $(ORC_CFLAGS) orc_volume_LDADD = $(ORC_LIBS) -lorc-test-0.4 nodist_orc_volume_SOURCES = orc/volume.c @@ -685,10 +682,6 @@ orc/adder.c: $(top_srcdir)/gst/adder/gstadderorc.orc $(MKDIR_P) orc/ $(ORCC) --test -o $@ $< -orc/audioconvert.c: $(top_srcdir)/gst/audioconvert/gstaudioconvertorc.orc - $(MKDIR_P) orc/ - $(ORCC) --test -o $@ $< - orc/volume.c: $(top_srcdir)/gst/volume/gstvolumeorc.orc $(MKDIR_P) orc/ $(ORCC) --test -o $@ $< diff --git a/win32/common/libgstaudio.def b/win32/common/libgstaudio.def index 97364be617..fa9cc91d1d 100644 --- a/win32/common/libgstaudio.def +++ b/win32/common/libgstaudio.def @@ -46,6 +46,12 @@ EXPORTS gst_audio_clock_invalidate gst_audio_clock_new gst_audio_clock_reset + gst_audio_converter_flags_get_type + gst_audio_converter_free + gst_audio_converter_get_config + gst_audio_converter_new + gst_audio_converter_samples + gst_audio_converter_set_config gst_audio_decoder_allocate_output_buffer gst_audio_decoder_finish_frame gst_audio_decoder_get_allocator