Parallel decoding - artifacts

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Parallel decoding - artifacts

Vladimír Tichý
Hi,
I have a huge problem using lame to play several MP3 files at once. I have
implemented a player with independent reading thread and I can use up to 5
these players in my application. Everything is OK when only one player is
playing but when I launch the second one, artifacts start to appear in the
output signal.

I managed to reduce the amount of artifacts using mutex thread
synchronization so only one player is allowed to call hip_decode1_headers
method at one moment. Despite of this synchronization this method can
return some wrong samples to its PCM bufers. Using a sine test signal it
seems like the decoder sometimes skips some samples.

I read dev thread "Thread safe lame" (
https://sourceforge.net/mailarchive/message.php?msg_id=8800413) and was
wondered about the second rule: "Do not use the decoder". I hope it is
possible to use lame engine to read MP3 files paralelly.

Thank you for any advice.
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Lame-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/lame-dev
Reply | Threaded
Open this post in threaded view
|

Re: Parallel decoding - artifacts

Robert Hegemann
Hello Vladimír,

which LAME version are you using?

Ciao Robert

Am 03.06.2013, 13:40 Uhr, schrieb Vladimír Tichý <[hidden email]>:

> Hi,
> I have a huge problem using lame to play several MP3 files at once. I  
> have
> implemented a player with independent reading thread and I can use up to  
> 5
> these players in my application. Everything is OK when only one player is
> playing but when I launch the second one, artifacts start to appear in  
> the
> output signal.
>
> I managed to reduce the amount of artifacts using mutex thread
> synchronization so only one player is allowed to call hip_decode1_headers
> method at one moment. Despite of this synchronization this method can
> return some wrong samples to its PCM bufers. Using a sine test signal it
> seems like the decoder sometimes skips some samples.
>
> I read dev thread "Thread safe lame" (
> https://sourceforge.net/mailarchive/message.php?msg_id=8800413) and was
> wondered about the second rule: "Do not use the decoder". I hope it is
> possible to use lame engine to read MP3 files paralelly.
>
> Thank you for any advice.
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite
> It's a free troubleshooting tool designed for production
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap2
> _______________________________________________
> Lame-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/lame-dev

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Lame-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/lame-dev
Reply | Threaded
Open this post in threaded view
|

Re: Parallel decoding - artifacts

Vladimír Tichý
Hello Robert,
I tested it in version 3.98.2 and the latest - 3.99.5.

Vladimír


2013/6/4 robert <[hidden email]>

> Hello Vladimír,
>
> which LAME version are you using?
>
> Ciao Robert
>
> Am 03.06.2013, 13:40 Uhr, schrieb Vladimír Tichý <[hidden email]>:
>
>  Hi,
>> I have a huge problem using lame to play several MP3 files at once. I have
>> implemented a player with independent reading thread and I can use up to 5
>> these players in my application. Everything is OK when only one player is
>> playing but when I launch the second one, artifacts start to appear in the
>> output signal.
>>
>> I managed to reduce the amount of artifacts using mutex thread
>> synchronization so only one player is allowed to call hip_decode1_headers
>> method at one moment. Despite of this synchronization this method can
>> return some wrong samples to its PCM bufers. Using a sine test signal it
>> seems like the decoder sometimes skips some samples.
>>
>> I read dev thread "Thread safe lame" (
>> https://sourceforge.net/**mailarchive/message.php?msg_**id=8800413<https://sourceforge.net/mailarchive/message.php?msg_id=8800413>)
>> and was
>> wondered about the second rule: "Do not use the decoder". I hope it is
>> possible to use lame engine to read MP3 files paralelly.
>>
>> Thank you for any advice.
>> ------------------------------**------------------------------**
>> ------------------
>> Get 100% visibility into Java/.NET code with AppDynamics Lite
>> It's a free troubleshooting tool designed for production
>> Get down to code-level detail for bottlenecks, with <2% overhead.
>> Download for free and get started troubleshooting in minutes.
>> http://p.sf.net/sfu/appdyn_**d2d_ap2 <http://p.sf.net/sfu/appdyn_d2d_ap2>
>> ______________________________**_________________
>> Lame-dev mailing list
>> [hidden email]
>> https://lists.sourceforge.net/**lists/listinfo/lame-dev<https://lists.sourceforge.net/lists/listinfo/lame-dev>
>>
>
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Lame-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/lame-dev