[mythtv] audio.isPaused not working for OpenSLES audio

Peter Bennett pb.mythtv at gmail.com
Fri Jul 20 23:04:51 UTC 2018



On 07/20/2018 06:19 PM, Mark Spieth wrote:
> On 7/21/2018 3:48 AM, Peter Bennett wrote:
>> Hi Mark
>>
>> I assume you created the android OpenSLES audio support in MythTV. I 
>> found that audio.isPaused() always returns true, even in the middle 
>> of playing audio and video. This was causing audio-video sync to not 
>> work correctly. I fixed it by taking that check out. It was not 
>> necessary to check audio.isPaused() before calling Pause(). I just 
>> made it unconditionally call Pause() whether it was already paused or 
>> not. However I wonder if there is an error that is causing it to 
>> always return isPaused() as true and whether that may cause other 
>> problems.
>>
> That is strange. All the paused processing is in AudioOutputBase, and 
> except for Jack and CA there is nothing in any of the other drivers.
> This is probably affecting many drivers then.
>
> Is this with or without stretch enabled? There is a bit of a 
> difference there. I will dig some more today.
>
> Mark
Stretch was not enabled. This is the code that pauses audio right at the 
start of live tv to allow the video to catch up. the audio was never 
being paused. MythPlayer::PrebufferEnoughFrames - also 
MythPlayer::AVSync where audio.isPaused is checked before audio.pause().

Peter


More information about the mythtv-dev mailing list