Closed
Bug 944167
Opened 11 years ago
Closed 6 years ago
Updating of return value of opensl_stream_get_position() is not often in gonk
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
RESOLVED
INACTIVE
tracking-b2g | backlog |
People
(Reporter: sotaro, Unassigned)
Details
(Whiteboard: burirun3 )
+++ This bug was initially created as a clone of Bug #933376 +++
This bug is created based on Bug 933376 Comment 24.
AudioClock::GetPosition() uses opensl_stream_get_position() to control audio clock. And opensl_stream_get_position() internally uses AudioTrack::getPosition() to get played audio duration. AudioTrack::getPosition()'s value is used for audio clock. Therefore the value needs to be updated often. But in gonk, it's update is not often. Updated just release the audio buffer.
On ICS, it is tringger by AudioFlinger::ThreadBase::TrackBase::releaseBuffer().
http://androidxref.com/4.0.4/xref/frameworks/base/services/audioflinger/AudioFlinger.cpp#3289
Reporter | ||
Updated•11 years ago
|
Reporter | ||
Updated•11 years ago
|
blocking-b2g: --- → 1.3?
Reporter | ||
Updated•11 years ago
|
Keywords: regression
Version: 26 Branch → Trunk
Reporter | ||
Comment 1•11 years ago
|
||
This is a known problem in android.
Reporter | ||
Comment 2•11 years ago
|
||
Therefore android stagefright compensate audio time between buffer releases by using system time. It is done in AudioPlayer::getMediaTimeUs().
http://androidxref.com/4.4_r1/xref/frameworks/av/media/libstagefright/AudioPlayer.cpp#741
To do it, client side need to detect audio buffer release timing. AudioTrack provides this api. But I ma not sure OpenSLES API provide this capability.
Comment 3•11 years ago
|
||
What's the user impact of this bug? Is it a regression?
Reporter | ||
Comment 4•11 years ago
|
||
This is not a regression. It is same as in v1.1. It could affect to precise audio timing control. In current use cases this problem does not make a big problem. After supporting WebAudio, music and game applications/contents are going to use audio capability more. And it could affect to the audio control's quality.
I think it is not urgent necessity. So, I changed the '1.3?' to 'madai?'.
blocking-b2g: 1.3? → madai?
Reporter | ||
Comment 5•11 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #2)
>
> To do it, client side need to detect audio buffer release timing. AudioTrack
> provides this api. But I ma not sure OpenSLES API provide this capability.
bufferqueue_callback() might be used if gecko do a similar thing.
http://mxr.mozilla.org/mozilla-central/source/media/libcubeb/src/cubeb_opensl.c
Comment 6•11 years ago
|
||
Retiring the madai flag, updating nomination for triage.
blocking-b2g: madai? → 1.5?
Comment 7•11 years ago
|
||
This has been around for multiple releases, so we will not block on this.
blocking-b2g: 2.0? → backlog
Would this cause a crash?
https://crash-stats.mozilla.com/report/index/08e78fd5-3c7a-406d-b6ae-672752140630
Assignee | ||
Updated•10 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
Updated•9 years ago
|
Component: Audio/Video → Audio/Video: Playback
Comment 9•6 years ago
|
||
Mass closing do to inactivity.
Feel free to re-open if still needed.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•