| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Allow anyone to talk to drm services.
Change-Id: I5c2f3c419d01de30c3d6e2bc85b1fe5c9c37b392
related-to-bug: 6276111
|
|\
| |
| |
| | |
sources."
|
| |
| |
| |
| |
| | |
Change-Id: I080aa2ce28300a72a85751509334dbdc491936c6
related-to-bug: 6276111
|
| |
| |
| |
| |
| |
| |
| | |
Fix broken ALOG_ASSERT in updateFramesPendingAfterTrim_l() introduced by
commit 1c345196.
Change-Id: Ie1b2653069283f23ff0367f2628828e37fb0749c
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Media scanner needs to open the files now, because media server doesn't
have the required permission.
b/6330061
Change-Id: I2364d93dcc0530c15676664fc4a8c306351dde08
|
| |
| |
| |
| |
| |
| |
| |
| | |
subtitle track.
It would rather return empty data than return NULL data for an existing track.
Change-Id: Ie0c18e6851bfbe2c471041589670a3012605b584
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
o Also fixed a minor issue where the file length should be of type off64_t rather than size_t
o related-to-bug: 5542712
Change-Id: I35fd8ceea0bc75e553b7f4a99932cf58ea560c4e
|
|\ \
| | |
| | |
| | | |
info."
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I90a27c9bbe649328b88144b161c420916673846f
related-to-bug: 6275919
|
| | |
| | |
| | |
| | |
| | |
| | | |
forgot to upload final fixup during merge. sry about that
Change-Id: I2ddd2c08d8efa83c0a8d1e378ae4c28686145154
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a manual merge from ics-aah
> TimedAudio: Track of the number of pending frames.
>
> Keep track of the number of frames pending in the timed audio queue so
> we can implement framesReady in O(1) time instead of O(N). This
> change partially addresses bug 6020970; the bug will be completely
> addressed once this change has been up-integrated into master.
>
> Change-Id: I599eb15ea1f6d715b97b30e65214fb6fadd169df
> Signed-off-by: John Grossman <johngro@google.com>
Change-Id: I6cbbbc3afc8efd066fe94865326ede0c6b3db2bd
Signed-off-by: John Grossman <johngro@google.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a manual merge from ics-aah
> TimedAudio: Fix a cause of audio popping.
>
> Fix an issue with buffer lifecycle management which could cause audio
> pops on timed outputs. There were two issues at work here.
>
> 1) During trim operations for the queued timed audio data, buffers
> were being trimmed based on their starting PTS instead of when the
> chunk of audio data actually ended. This means that if you have a
> very large chunk of audio data (larger than the mixer lead time),
> then a buffer at the head of the queue could be eligible to be
> trimmed before its data had been completely mixed into the output
> stream, even though the output stream was fully buffered and in no
> danger of underflow.
> 2) The implementation of getNextBuffer and releaseBuffer for timed
> audio tracks was not keeping anything like a reference to the data
> that it handed out to the mixer. The original architecture here
> seemed to be expecting a ring buffer design, but timed audio tracks
> use a packet based design. Pieces of packets are handed out to the
> mixer which then frequently will hold onto that chunk of data
> across two mix operations, using the first part of the chunk to
> finish a mix buffer and then using the end of the chunk for the
> start of the next mix buffer. If the buffer that the mixer is
> holding a piece of got trimmed before the start of the next mix
> operation, it would return to its heap and could be filled with who
> knows what by the time it actually got mixed. On debug builds,
> they seem to get zero'ed out as they go back to the heap causing
> obvious pops in presentation.
>
> This change addresses both issues. Trim operations are now based on
> ending presentation time for a chunk of audio, not the start. Also,
> when the head of the queue is in flight to the mixer, it can no longer
> be trimmed immediately, merely flagged for trim by the mixer when the
> mixer finally does call releaseBuffer.
>
> Signed-off-by: John Grossman <johngro@google.com>
> Change-Id: Ia1ba08cb9dea35a698723ab2d9bcbf804f1682fe
Change-Id: I2c5e2f0375c410f0de075886aac56ff6317b144c
Signed-off-by: John Grossman <johngro@google.com>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifee1744890b645e008c9aff3783625a7bfbcff27
related-to-bug: 6275919
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
Change-Id: I867bf95f7c20503e55b38d0087ac027647834f37
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
contributed by sureshc@nvidia.com (and subsequently simplified)
Change-Id: Ia1c2ac9233f5414ce3e4a70e42e68c1c5c35eb9d
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
commandline tool to open the file to extract thumbnails from itself since
mediaserver may not have permission to open files.
Change-Id: Iabe16b3248e9bb0f266b0866a8d2ccba2ab7d2a8
related-to-bug: 6321237
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Added functional test code to validate effect API for
multi mic simplementations.
Also fixed warning in AudioFlinger.
Change-Id: I07be4d2e4d17791d3626c804ba3e9f87ff26d05a
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | |/
| |/|
| | |
| | |
| | | |
Change-Id: Ia922b13179c69749d09cd3fccbd5c30109c28bd7
related-to-bug: 6321952
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SurfaceMediaSource takes advantage of BufferQueue to avoid
duplicated code.
Change-Id: I5e60b8eca21e6c3cf728d363cd8f3786125182d1
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In the AudioMixer structure associated with each track, add an object
that acts as the buffer provider when the track has more than two
channels of input in the mixer. This object, DownmixerBufferProvider,
gets audio from the actual buffer provider of the track, and applies
a downmix effect on it.
The downmix effect is created and configured when the track gets
created in AudioFlinger, which causes AudioMixer::getTrackName()
to be called with the new track's channel mask. It is released
when the track is disabled in the mixer.
Change-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
static library.
Change-Id: Ia2c4b4fb3b78cbe0d2856cec073b2c7f9c28d3cb
|
|/ /
| |
| |
| |
| | |
Change-Id: I69dd60e43078c4211c6123cf6e0ce90e676bf873
related-to-bug: 6275919
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Yet another abstraction similar to AudioTrack::Buffer and AudioBufferProvider,
but with support for streaming, non-blocking, and eventually PTS.
This is intended to be used as follows:
- primary HAL output stream implements a Sink
- primary HAL input stream implements a Source
- Pipe implements a Sink
- PipeReader implements a Source or TimedSource (not shown yet),
which supports "read at PTS"
- fast AudioTrack on server side will implement a Source using cblk
- normal AudioTrack on server side will not be changed initially
- fast AudioRecord on server side will implement a Sink using cblk
- normal AudioRecord on server side will not be changed initially
- fast mixer thread will read from Sources and write to a Sink,
or (unlikely) implement a Source and multiple Sinks
- Visualization and PCM logger will read from Source or TimedSource
- A2DP normal mixer will be connected directly to its output stream
and there will be a kind of OutputTrack for duplication that will
read from a Sink with non-blocking write fed by the fast mixer.
Patch set 3 changes:
- Add more implementations of NBAIO interfaces:
added SourceAudioBufferProvider, MonoPipe, MonoPipeReader.
- Added Format_sampleRate and Format_channelCount.
- Extract out the roundUp() method.
- Respond to most comments from previous code review.
- The new classes are untested.
Patch set 4 changes:
- Fix bugs in MonoPipe::write() and MonoPipeReader::read()
- Fix bug initializing mFrameBitShift too early
- renamed roundUp() to roundup()
- Fix Android.mk
- Add LOG_TAG an LOG_NDEBUG, use ALOG_ASSERT and utils/Log.h instead of assert
- Fix build warnings
- Move constructor and destructor bodies from .h to .cpp
- Line length 100
- Following naming conventions for #include double-include protector macros
- Include what you use
- More NBAIO logging
- MonoPipe write can be blocking
Patch set 5 changes:
- Address code review comments
- Use a static library so unused implementations don't take memory
- Comment out libsndfile dependency
- Remove debugging LOGV and LOG_NDEBUG
Patch set 6 changes (would be 6 at old location, actually 2 at new location):
- Address code review comments on patchset 5
- For MonoPipe, allow the full pipe to be used, no need to omit one slot
- Don't do atomic releasing stores unless needed
Still to do:
- I'm not happy with the Pipe class names
- Update build/ for new static library?
Change-Id: Ie6c61f05ce06b676b033be448a8ef9025a2ffcfd
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With the Cue based seeking we will get the closest previous key frame.
For audio, use the Cue file to find the Cluster with the video key frame
then incrementally look for the audio Block.
Change-Id: Idc934cca1286b1bb48ee7577b27903ca488a0610
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 6234756
Change-Id: I0fae6e5ad8607d472faad7dd680e020f20ac1669
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
b/5820120
Change-Id: Ia5c48eb1ab15fe3bbe773131148470a06eb2b96d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When creating a new AudioTrack (not inheriting one from a previous play),
the AudioSink should take the AudioTrack's position as the initial starting
point for mBytesWritten, since otherwise NuPlayer's calculations will be off.
Normally this position will be 0, but if the test code for 32 bit wraparound
in AudioFlinger.cpp is enabled, it might be (much) larger.
Change-Id: I1e4f906d529861c3dea996de8afc6dbd491589af
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Id0d84d3aaaf340cd5287611c9dc7cb8d11466772
related-to-bug: 5883949
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Audio HW modules are now loaded upon request from audio policy manager
according to the configuration in audio_policy.conf.
Removed hard coded HW module loading by AudioFlinger at init time.
Added methods to IAudioFlinger and AudioPolicyInterface
to control the loading of audio HW modules.
Added methods to open an output or input stream on a specific hw module.
Change-Id: I361b294ece1a9b56b2fb39cc64259dbb73b804f4
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
removed outputs to stream mapping cache in audio system: the output for a
given stream type must always be queried from audio policy manager as the cache
is not always updated fast enough by audioflinger callback.
removed AudioFlinger::PlaybackThread::setStreamValid() not used anymore if
stream to output mapping is not cached.
Change-Id: Ieca720c0b292181f81247259c8a44359bc74c66b
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
previous implementation tried to be clever about economizing Cue loads.
however, files with the cues at the beginning missed the initial load in
the seek function and would crash with a null pointer.
Change-Id: I49c15d6688909cd13afabf33a54d9f5896aab7cd
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566
related-to-bug: 6275919
|
|\ \ \ \ \ |
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On the first seek, load the Cues element. Parse it incrementally until
the desired seek point can be located.
This allows files to begin playing immediately. However, the Browser
still seeks to 0 before playing embedded YouTube files. Because YouTube
stores the cues at the end of the file, this causes it to seek, load the
cues, then begin playing. It is still better than the previous behavior
which blocked until the entire file was loaded.
BUG=5921311
Change-Id: Iad2abc64ded3b4e2c2d2c478a969f68450754282
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|