[xiph-commits] r2870 - liboggplay/trunk/plugin
shans at svn.annodex.net
shans at svn.annodex.net
Thu Jun 7 21:14:47 PDT 2007
Author: shans
Date: 2007-06-07 21:14:46 -0700 (Thu, 07 Jun 2007)
New Revision: 2870
Added:
liboggplay/trunk/plugin/plugin_tools.c
liboggplay/trunk/plugin/plugin_tools.h
Modified:
liboggplay/trunk/plugin/Makefile.am
liboggplay/trunk/plugin/plugin_oggplay.c
Log:
Added plugin_tools.[ch], moved audio format functions to new files
Modified: liboggplay/trunk/plugin/Makefile.am
===================================================================
--- liboggplay/trunk/plugin/Makefile.am 2007-06-08 04:13:24 UTC (rev 2869)
+++ liboggplay/trunk/plugin/Makefile.am 2007-06-08 04:14:46 UTC (rev 2870)
@@ -38,14 +38,15 @@
# Libraries to build
lib_LTLIBRARIES = $(plugin_libs)
-libnpoggplugin_la_SOURCES = \
- plugin.cpp \
- support/nsScriptablePeer.cpp \
- plugin_oggplay.c \
- plugin_gui_linux.c \
- support/npp_gate.cpp \
- support/np_entry.cpp \
- support/npn_gate.cpp \
+libnpoggplugin_la_SOURCES = \
+ plugin.cpp \
+ support/nsScriptablePeer.cpp \
+ plugin_oggplay.c \
+ plugin_gui_linux.c \
+ plugin_tools.c \
+ support/npp_gate.cpp \
+ support/np_entry.cpp \
+ support/npn_gate.cpp \
audio/sydney_audio_oss.c
#support/npunix.c
Modified: liboggplay/trunk/plugin/plugin_oggplay.c
===================================================================
--- liboggplay/trunk/plugin/plugin_oggplay.c 2007-06-08 04:13:24 UTC (rev 2869)
+++ liboggplay/trunk/plugin/plugin_oggplay.c 2007-06-08 04:14:46 UTC (rev 2870)
@@ -50,6 +50,7 @@
#include <stdlib.h>
#include <oggplay/oggplay.h>
#include "plugin_oggplay.h"
+#include "plugin_tools.h"
#define LIBOGGPLAY_BUFFER_SIZE 20
@@ -182,7 +183,6 @@
if (pointers->shutdown_oggplay) {
pointers->shutdown_oggplay = 0;
-
break;
}
@@ -470,38 +470,3 @@
memcpy((*url), pointers->location, length);
}
}
-
-
-/**
- * Helper functions for audio data aggregation
- */
-
-void
-buffer_audio_data(unsigned char ** buffer, int* buffer_length,
- unsigned char * data, int samples, int sample_size, int channels) {
- int _buf_length = (*buffer_length);
- int bytes = samples * sample_size * channels;
- *buffer = realloc(*buffer, _buf_length + bytes);
- if (data != 0) {
- float_to_short_array((float *) data, (short*)(*buffer + _buf_length),
- samples * channels);
- _buf_length += bytes;
- }
- (*buffer_length) = _buf_length;
-}
-
-void
-float_to_short_array(const float* in, short* out, int len) {
- int i = 0;
- float scaled_value = 0;
- for(i = 0; i < len; i++) {
- scaled_value = floorf(0.5 + 32768 * in[i]);
- if (in[i] < 0) {
- out[i] = (scaled_value < -32768.0) ? -32768 : (short)scaled_value;
- } else {
- out[i] = (scaled_value > 32767.0) ? 32767 : (short)scaled_value;
- }
- }
-}
-
-
Added: liboggplay/trunk/plugin/plugin_tools.c
===================================================================
--- liboggplay/trunk/plugin/plugin_tools.c (rev 0)
+++ liboggplay/trunk/plugin/plugin_tools.c 2007-06-08 04:14:46 UTC (rev 2870)
@@ -0,0 +1,70 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * CSIRO
+ * Portions created by the Initial Developer are Copyright (C) 2007
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Shane Stephens, Michael Martin, Marcin Lubonski
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/**
+ * Helper functions for audio data aggregation
+ */
+
+#include "plugin_tools.h"
+
+#include <stdlib.h>
+#include <math.h>
+
+void
+buffer_audio_data(unsigned char ** buffer, int* buffer_length,
+ unsigned char * data, int samples, int sample_size, int channels) {
+ int _buf_length = (*buffer_length);
+ int bytes = samples * sample_size * channels;
+ *buffer = realloc(*buffer, _buf_length + bytes);
+ if (data != 0) {
+ float_to_short_array((float *) data, (short*)(*buffer + _buf_length),
+ samples * channels);
+ _buf_length += bytes;
+ }
+ (*buffer_length) = _buf_length;
+}
+
+void
+float_to_short_array(const float* in, short* out, int len) {
+ int i = 0;
+ float scaled_value = 0;
+ for(i = 0; i < len; i++) {
+ scaled_value = floorf(0.5 + 32768 * in[i]);
+ if (in[i] < 0) {
+ out[i] = (scaled_value < -32768.0) ? -32768 : (short)scaled_value;
+ } else {
+ out[i] = (scaled_value > 32767.0) ? 32767 : (short)scaled_value;
+ }
+ }
+}
Added: liboggplay/trunk/plugin/plugin_tools.h
===================================================================
--- liboggplay/trunk/plugin/plugin_tools.h (rev 0)
+++ liboggplay/trunk/plugin/plugin_tools.h 2007-06-08 04:14:46 UTC (rev 2870)
@@ -0,0 +1,45 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * CSIRO
+ * Portions created by the Initial Developer are Copyright (C) 2007
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Shane Stephens, Michael Martin, Marcin Lubonski
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#ifndef _PLUGIN_TOOLS_H
+#define _PLUGIN_TOOLS_H
+
+void
+buffer_audio_data(unsigned char ** buffer, int* buffer_length,
+ unsigned char * data, int samples, int sample_size, int channels);
+
+void
+float_to_short_array(const float* in, short* out, int len);
+
+#endif
More information about the commits
mailing list