rebuilt by autoport with build requirements: libshine-devel>=3.0.0-1mamba [release 0.1.1-2mamba;Thu May 14 2015]
This commit is contained in:
parent
8e68f2136f
commit
da5fd3f3cf
254
ocaml-shine-0.1.1-libshine-3.0.0.patch
Normal file
254
ocaml-shine-0.1.1-libshine-3.0.0.patch
Normal file
@ -0,0 +1,254 @@
|
||||
From f60e576eaef3b4050207a4c3f0bf601d855a3f07 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Beauxis <toots@rastageeks.org>
|
||||
Date: Mon, 24 Jun 2013 22:47:57 -0500
|
||||
Subject: [PATCH] Update to shine 3.0.0
|
||||
|
||||
---
|
||||
CHANGES | 4 ++++
|
||||
configure.ac | 4 ++--
|
||||
src/shine.ml | 56 ++++++++++++++++++++++++++++++-------------------------
|
||||
src/shine.mli | 13 ++++++++-----
|
||||
src/shine_stubs.c | 34 +++++++++++++++++----------------
|
||||
5 files changed, 63 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/CHANGES b/CHANGES
|
||||
index d3a6f6f..3451867 100644
|
||||
--- a/CHANGES
|
||||
+++ b/CHANGES
|
||||
@@ -1,3 +1,7 @@
|
||||
+0.2.0 ()
|
||||
+=====
|
||||
+* Updated to shine 3.0.0
|
||||
+
|
||||
0.1.1 (2013-04-15)
|
||||
=====
|
||||
* Updated to shine 2.0.0
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 018e20b..eb0522f 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
# check for one particular file of the sources
|
||||
-AC_INIT([ocaml-shine],[0.1.1],[savonet-users@lists.sourceforge.net])
|
||||
+AC_INIT([ocaml-shine],[0.2.0],[savonet-users@lists.sourceforge.net])
|
||||
|
||||
VERSION=$PACKAGE_VERSION
|
||||
AC_MSG_RESULT([configuring $PACKAGE_STRING])
|
||||
@@ -13,7 +13,7 @@ AC_C_BIGENDIAN(AC_DEFINE([BIGENDIAN], [1], [The target is big endian]),[])
|
||||
AC_BASE_CHECKS()
|
||||
|
||||
PKG_PROG_PKG_CONFIG()
|
||||
-PKG_CONFIG_CHECK_MODULE([shine],[2.0.0])
|
||||
+PKG_CONFIG_CHECK_MODULE([shine],[3.0.0])
|
||||
|
||||
# substitutions to perform
|
||||
AC_SUBST(VERSION)
|
||||
diff --git a/src/shine.ml b/src/shine.ml
|
||||
index b9176ea..97ee03e 100644
|
||||
--- a/src/shine.ml
|
||||
+++ b/src/shine.ml
|
||||
@@ -20,7 +20,13 @@
|
||||
|
||||
(** OCaml bindings for the libshine. *)
|
||||
|
||||
-type t
|
||||
+type enc
|
||||
+
|
||||
+type t =
|
||||
+ {
|
||||
+ enc : enc;
|
||||
+ samples_per_pass : int;
|
||||
+ }
|
||||
|
||||
type parameters =
|
||||
{
|
||||
@@ -29,44 +35,44 @@ type parameters =
|
||||
bitrate : int;
|
||||
}
|
||||
|
||||
-exception Samples_per_frame
|
||||
-exception Invalid_bitrate
|
||||
-exception Invalid_samplerate
|
||||
+exception Invalid_buffer_size
|
||||
+exception Invalid_configuration
|
||||
exception Invalid_channels
|
||||
|
||||
-external samples_per_frame : unit -> int = "ocaml_shine_samples_per_frames"
|
||||
-
|
||||
-let samples_per_frame = samples_per_frame()
|
||||
+external check_config : int -> int -> bool = "ocaml_shine_check_config"
|
||||
|
||||
-external samplerate_index : int -> int = "ocaml_shine_samplerate_index"
|
||||
+external samples_per_pass : enc -> int = "ocaml_shine_samples_per_pass"
|
||||
|
||||
-external bitrate_index : int -> int = "ocaml_shine_bitrate_index"
|
||||
-
|
||||
-external create : int -> int -> int -> t = "ocaml_shine_init"
|
||||
+external create : int -> int -> int -> enc = "ocaml_shine_init"
|
||||
|
||||
let create params =
|
||||
- if samplerate_index params.samplerate < 0 then
|
||||
- raise Invalid_samplerate;
|
||||
- if bitrate_index params.bitrate < 0 then
|
||||
- raise Invalid_bitrate;
|
||||
+ if not (check_config params.samplerate params.bitrate) then
|
||||
+ raise Invalid_configuration;
|
||||
if params.channels < 1 || params.channels > 2 then
|
||||
raise Invalid_channels;
|
||||
- create params.channels params.samplerate params.bitrate
|
||||
+ let enc =
|
||||
+ create params.channels params.samplerate params.bitrate
|
||||
+ in
|
||||
+ { enc = enc; samples_per_pass = (samples_per_pass enc) }
|
||||
+
|
||||
+let samples_per_pass enc = enc.samples_per_pass
|
||||
|
||||
-external encode_buffer : t -> float array array -> string = "ocaml_shine_encode_float"
|
||||
+external encode_buffer : enc -> float array array -> string = "ocaml_shine_encode_float"
|
||||
|
||||
let encode_buffer enc buf =
|
||||
- if (Array.length buf == 0) || (Array.length buf.(0) != samples_per_frame) then
|
||||
- raise Samples_per_frame;
|
||||
+ if (Array.length buf == 0) || (Array.length buf.(0) != enc.samples_per_pass) then
|
||||
+ raise Invalid_buffer_size;
|
||||
|
||||
- encode_buffer enc buf
|
||||
+ encode_buffer enc.enc buf
|
||||
|
||||
-external encode_s16le : t -> string -> int -> string = "ocaml_shine_encode_s16le"
|
||||
+external encode_s16le : enc -> string -> int -> string = "ocaml_shine_encode_s16le"
|
||||
|
||||
let encode_s16le enc data chans =
|
||||
- if String.length data < 2*samples_per_frame*chans then
|
||||
- raise Samples_per_frame;
|
||||
+ if String.length data < 2*enc.samples_per_pass*chans then
|
||||
+ raise Invalid_buffer_size;
|
||||
+
|
||||
+ encode_s16le enc.enc data chans
|
||||
|
||||
- encode_s16le enc data chans
|
||||
+external flush : enc -> string = "ocaml_shine_flush"
|
||||
|
||||
-external flush : t -> string = "ocaml_shine_flush"
|
||||
+let flush enc = flush enc.enc
|
||||
diff --git a/src/shine.mli b/src/shine.mli
|
||||
index e958231..a3b0afd 100644
|
||||
--- a/src/shine.mli
|
||||
+++ b/src/shine.mli
|
||||
@@ -29,15 +29,18 @@ type parameters =
|
||||
bitrate : int;
|
||||
}
|
||||
|
||||
-exception Samples_per_frame
|
||||
-exception Invalid_bitrate
|
||||
-exception Invalid_samplerate
|
||||
-exception Invalid_channels
|
||||
+exception Invalid_buffer_size
|
||||
+
|
||||
+(** Raised when samplerate and/or bitrate
|
||||
+ * is invalid. *)
|
||||
+exception Invalid_configuration
|
||||
|
||||
-val samples_per_frame : int
|
||||
+exception Invalid_channels
|
||||
|
||||
val create : parameters -> t
|
||||
|
||||
+val samples_per_pass : t -> int
|
||||
+
|
||||
val encode_buffer : t -> float array array -> string
|
||||
|
||||
val encode_s16le : t -> string -> int -> string
|
||||
diff --git a/src/shine_stubs.c b/src/shine_stubs.c
|
||||
index c6a7c98..a4d2b6c 100644
|
||||
--- a/src/shine_stubs.c
|
||||
+++ b/src/shine_stubs.c
|
||||
@@ -53,22 +53,20 @@ static struct custom_operations encoder_ops =
|
||||
custom_deserialize_default
|
||||
};
|
||||
|
||||
-CAMLprim value ocaml_shine_samples_per_frames(value unit)
|
||||
+CAMLprim value ocaml_shine_samples_per_pass(value e)
|
||||
{
|
||||
- CAMLparam0();
|
||||
- CAMLreturn(Val_int(samp_per_frame));
|
||||
+ CAMLparam1(e);
|
||||
+ CAMLreturn(Val_int(shine_samples_per_pass(Encoder_val(e))));
|
||||
}
|
||||
|
||||
-CAMLprim value ocaml_shine_bitrate_index(value br)
|
||||
+CAMLprim value ocaml_shine_check_config(value samplerate, value bitrate)
|
||||
{
|
||||
CAMLparam0();
|
||||
- CAMLreturn(Val_int(shine_find_bitrate_index(Int_val(br))));
|
||||
-}
|
||||
|
||||
-CAMLprim value ocaml_shine_samplerate_index(value sr)
|
||||
-{
|
||||
- CAMLparam0();
|
||||
- CAMLreturn(Val_int(shine_find_samplerate_index(Int_val(sr))));
|
||||
+ if (shine_check_config(Int_val(samplerate), Int_val(bitrate)) < 0)
|
||||
+ CAMLreturn(Val_false);
|
||||
+
|
||||
+ CAMLreturn(Val_true);
|
||||
}
|
||||
|
||||
CAMLprim value ocaml_shine_init(value chans, value samplerate, value bitrate)
|
||||
@@ -84,9 +82,9 @@ CAMLprim value ocaml_shine_init(value chans, value samplerate, value bitrate)
|
||||
config.wave.samplerate = Int_val(samplerate);
|
||||
config.mpeg.bitr = Int_val(bitrate);
|
||||
if (config.wave.channels == 1)
|
||||
- config.mpeg.mode = 3;
|
||||
+ config.mpeg.mode = MONO;
|
||||
else
|
||||
- config.mpeg.mode = 1;
|
||||
+ config.mpeg.mode = JOINT_STEREO;
|
||||
|
||||
enc = shine_initialise(&config);
|
||||
if (enc == NULL)
|
||||
@@ -118,17 +116,19 @@ CAMLprim value ocaml_shine_encode_float(value e, value data)
|
||||
{
|
||||
CAMLparam2(e,data);
|
||||
CAMLlocal2(src,ret);
|
||||
- int16_t pcm[2][samp_per_frame];
|
||||
+ int16_t *pcm[2];
|
||||
+ int16_t chan1[SHINE_MAX_SAMPLES], chan2[SHINE_MAX_SAMPLES];
|
||||
int c,i;
|
||||
long written;
|
||||
unsigned char *outdata;
|
||||
|
||||
shine_t enc = Encoder_val(e);
|
||||
+ pcm[0] = chan1, pcm[1] = chan2;
|
||||
|
||||
for (c = 0; c < Wosize_val(data); c++)
|
||||
{
|
||||
src = Field(data, c);
|
||||
- for (i = 0; i < samp_per_frame; i++)
|
||||
+ for (i = 0; i < shine_samples_per_pass(enc); i++)
|
||||
{
|
||||
pcm[c][i] = clip(Double_field(src, i));
|
||||
}
|
||||
@@ -150,7 +150,8 @@ CAMLprim value ocaml_shine_encode_s16le(value e, value data, value channels)
|
||||
{
|
||||
CAMLparam2(e,data);
|
||||
CAMLlocal1(ret);
|
||||
- int16_t pcm[2][samp_per_frame];
|
||||
+ int16_t *pcm[2];
|
||||
+ int16_t chan1[SHINE_MAX_SAMPLES], chan2[SHINE_MAX_SAMPLES];
|
||||
int16_t *src = (int16_t *)String_val(data);
|
||||
int c,i;
|
||||
long written;
|
||||
@@ -159,10 +160,11 @@ CAMLprim value ocaml_shine_encode_s16le(value e, value data, value channels)
|
||||
unsigned char *outdata;
|
||||
|
||||
shine_t enc = Encoder_val(e);
|
||||
+ pcm[0] = chan1; pcm[1] = chan2;
|
||||
|
||||
for (c = 0; c < chans; c++)
|
||||
{
|
||||
- for (i = 0; i < samp_per_frame; i++)
|
||||
+ for (i = 0; i < shine_samples_per_pass(enc); i++)
|
||||
{
|
||||
pcm[c][i] = src[i*chans + c];
|
||||
#ifdef BIGENDIAN
|
@ -2,7 +2,7 @@
|
||||
|
||||
Name: ocaml-shine
|
||||
Version: 0.1.1
|
||||
Release: 1mamba
|
||||
Release: 2mamba
|
||||
Summary: OCaml binding to the fixed-point mp3 encoding library shine
|
||||
Group: Development/Bindings
|
||||
Vendor: openmamba
|
||||
@ -10,11 +10,14 @@ Distribution: openmamba
|
||||
Packager: Davide Madrisan <davide.madrisan@gmail.com>
|
||||
URL: http://savonet.sourceforge.net/
|
||||
Source: http://sourceforge.net/projects/savonet/files/ocaml-shine/%{version}/ocaml-shine-%{version}.tar.gz
|
||||
Patch0: ocaml-shine-0.1.1-libshine-3.0.0.patch
|
||||
License: LGPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libshine-devel
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: ocaml-ocamldoc
|
||||
BuildRequires: libshine-devel >= 3.0.0-1mamba
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
@ -30,6 +33,7 @@ This package contains libraries and signature files for developing applications
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
./configure \
|
||||
@ -73,5 +77,8 @@ make install
|
||||
%doc examples/
|
||||
|
||||
%changelog
|
||||
* Thu May 14 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 0.1.1-2mamba
|
||||
- rebuilt by autoport with build requirements: libshine-devel>=3.0.0-1mamba
|
||||
|
||||
* Thu Jun 27 2013 openmamba WebBuild System <webbuild@openmamba.org> 0.1.1-1mamba
|
||||
- package created by davide using the webbuild interface
|
||||
|
Loading…
Reference in New Issue
Block a user