[
http://dev.sourcefabric.org/browse/LS-394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Romain Beauxis closed LS-394.
-----------------------------
Resolution: Fixed
> Resampling should be stateful
> -----------------------------
>
> Key: LS-394
> URL: http://dev.sourcefabric.org/browse/LS-394
> Project: Liquidsoap
> Issue Type: Bug
> Components: Liquidsoap
> Reporter: David Baelde
> Priority: Blocker
> Fix For: 1.0
>
>
> A close look at our resampled audio probably shows some glitches, because we
> create a new resampling object for each chunk:
> {{{
> Index: src/audio_converters/libsamplerate_converter.ml
> ===================================================================
> --- src/audio_converters/libsamplerate_converter.ml (revision 7444)
> +++ src/audio_converters/libsamplerate_converter.ml (working copy)
> @@ -56,6 +56,9 @@
> let samplerate_converter () =
> let quality = quality_of_string quality_conf#get in
> let converter = Samplerate.create quality 1 in
> + (* TODO seems to me that this code neglects the fact that libsamplerate's
> + * resampler has a state, missing the whole point of using a good
> resampler *)
> let convert ratio b ofs len =
> Samplerate.process_alloc converter ratio b ofs len
> in
> }}}
> There is also a similar problem in Rutils (see comment at the end of the
> file).
> I'd suggest to change not only liquidsoap modules but also the ocaml-resample
> API: libsamplerate has a type called state which became "type t" in OCaml...
> that probably participated in the confusion.
> By the way, libsamplerate and ocaml-samplerate have a simpler stateless API
> (http://www.mega-nerd.com/SRC/api.html), which we might as well use if we
> don't want to deal with states.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://dev.sourcefabric.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web. Learn how to
best implement a security strategy that keeps consumers' information secure
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Savonet-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-devl