| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
to prevent info leak
Bug: 27855172
Change-Id: I3d33e0a9cc5cf8a758d7b0794590b09c43a24561
|
|
|
|
|
| |
bug: 22953017
Change-Id: Iccd1bb406ff68aa8bc3ccec35c8128625894f6ae
|
|
|
|
|
|
| |
bug:22460747
Change-Id: I23f773ecf7b86928a8eacd25a481636e645affbe
|
|
|
|
|
|
| |
Bug: 20818955
Bug: 20890069
Change-Id: I243205b99b198eb1b5a1a027b27cbb7d5aaaa8db
|
|
|
|
| |
Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently CameraSource/AudioSource's stop() and read() are both called
from the puller's looper. This works if source operates normally (i.e.
read() returns regularly before source is stopped), as the stop() will
eventually be handled by the looper. However, if for some reason the
source hang, it will get stuck in read(), and the stop() will never
be processed, which could lead to ANR (in addition to the source hang).
We need to move the source's stop out of the puller's looper. It also
can't be on MediaCodecSource's looper, because the source's stop
synchrounously waits for all outstanding buffers to return, these
are only returned when MediaCodecSource's looper processes the buffer.
This change moves the stop to MediaCodecSource::stop, after encoder
is shutdown.
Bug: 16522726
Change-Id: Ie91f563c5d8a98ab091bf1945af4e51f662b9403
|
|
|
|
|
|
|
|
| |
This allows last read() to exit properly, otherwise it could get
stuck waiting for the condition forever.
Bug: 15849309
Change-Id: I79bba53630e59783a5fc041cfc5d3fdb2545cc2c
|
|
|
|
| |
Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
|
|
|
|
|
|
| |
It's size_t consistently
Change-Id: I29638ef59ac773218025f2403a3508a307b487e0
|
|
|
|
|
|
| |
It's uint32_t consistently
Change-Id: If8298c7e9aeea2b951fe47b675adbdf48d104846
|
|
|
|
| |
Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
|
|\
| |
| |
| | |
Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed bug that if the binder call failed (for example if the
IAudioFlinger binder is dead), then getInputFramesLost was returning
garbage. Now it correctly returns zero, which is the error value for
this method.
The type declarations for getInputFramesLost were inconsistent:
a mixture of unsigned int, size_t, and uint32_t. Now it returns uint32_t
everywhere, which is what the underlying HAL API returns.
Added a FIXME about the side effect behavior. This will need review
for multi-client.
Change-Id: Ifa2e117a87dbd0c1f2c892a31d1c3dd919bf1a0a
|
|
|
|
|
|
|
|
| |
When kAutoRampDurationUs multiplies with mSampleRate, it overflows to int64.
Type cast it to int64 to make sure RampDurationUs properly.
BUg: 11162491
Change-Id: I4f93bc9acc8456e25623a9255ca7a5b206425009
|
|
|
|
|
| |
Bug: 9423855
Change-Id: I78ba8228c60dff11fb466156bb632c5dda45cdaf
|
|
|
|
|
|
| |
Also fix typo: bufferCount should be frameCount.
Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
|
|
|
|
|
| |
Change-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3
related-to-bug: 7266324
|
|
|
|
|
|
|
|
| |
AudioSource can now be configured to output buffers timestamped based
on looper time (absolute) instead of based on systemTime() relative to
start time.
Change-Id: I8eca42648eb50033ac4aafbe5daac64a98a40690
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In IAudioFlinger::createTrack() and IAudioFlinger::openRecord(),
declare input parameter to use correct type audio_channel_mask_t.
In IAudioFlinger::getInputBufferSize(), input parameter is now channel mask
instead of channel count.
Remove unused IAudioFlinger::channelCount(audio_io_handle_t).
In AudioRecord::getMinFrameCount() and AudioSystem::getInputBufferSize(),
input parameter is channel mask instead of channel count.
Change-Id: Ib2f1c29bea70f016b3cfce83942ba292190ac965
|
|
|
|
|
|
|
|
|
| |
mRecord is not properly initialized if the call to AudioRecord::getMinFrameCount() fails.
media server crashes when the unintialized mRecord object is deleted in AudioSource's destructor.
Change-Id: Ia89222789d044c11c9957a99725bc89f9c709e17
related-to-bug: 6744014
|
|
|
|
| |
Change-Id: I021ddcc1bcb63132a4597d13e3d09db2a5f2c628
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure that the maximum number of frames passed to
AudioSource by the AudioRecord callback always fits within
the maximum buffer size defined by kMaxBufferSize.
Also make sure that the total AudioRecord buffer size is more
than the minimum required.
Change-Id: I26a1f998e0cf75ac88b02e67ec9d8db3c0cca193
|
|
|
|
|
|
|
| |
and avoid ambiguous term "channels" where it might be confusing
as to whether it is a channel mask or channel count
Change-Id: I744fa08ccb6001a98c97bd638d2c9d56836c4234
|
|
|
|
| |
Change-Id: I6f369a2b99eb515603bc7d5629a07db2b96783fe
|
|
|
|
|
|
|
| |
o The size of each input buffer should be less than or equal to kMaxBufferSize
o related-to-bug: 5977032
Change-Id: I04343169aac3df56694aad4ba7967ec45337ad7e
|
|
|
|
|
|
| |
classes
Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was a mix of audio_source_t, uint8_t, and int.
Related fixes:
- fix comments in MediaRecorder.java
- AudioPolicyService server side was not checking source parameter at
all, so if the client wrapper was bypassed, invalid values could be
passed into audio HAL
- JNI android_media_AudioRecord_setup was checking source for positive
values, but not negative values. This test is redundant, since already
checked at Java and now checked by AudioPolicyService also, but might
as well make it correct.
Change-Id: Ie5e25d646dcd59a86d7985aa46cfcb4a1ba64a4a
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/143865
Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
|
|
|
|
|
| |
Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o do not use edts/elst boxes since these optional boxes are ignored
o manipulate the first video/audio frame duration to make sure that the rest
of the audio/video is in sync (ideally, we should only manipulate
the vidoe frame duration, not the audio)
o reduce the initial audio mute/suppression period, which is used to
eliminate the "recording" sound.
bug - 3405882 and 3362703
Change-Id: Ib0acfb4f3843b365157288951dc122b006299c18
|
|
|
|
|
|
| |
bug - 3313754
Change-Id: I951dd0e21e34aa1412c391f003bc32103d0424b0
|
|
|
|
|
|
| |
bug - 3439313
Change-Id: Ie29d6e4945978ef27fc3e5849e467d895c7736d3
|
|
|
|
|
|
| |
bug - 3385198
Change-Id: I86ac8071eb28a538b333e102192193d1b9eda5eb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Skipping frames could lead to a lot of issues such as I frames is lost etc.
It is not being used anyway.
This reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.
Conflicts:
media/libstagefright/AudioSource.cpp
media/libstagefright/CameraSource.cpp
Change-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2
|
|
|
|
| |
Change-Id: Ic0f1489f710929af50e7714867ae5153b3242dd8
|
|
|
|
|
|
| |
- This fixes media server crashes on droid
Change-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was that the time to receive an output buffer
from an audio encoder is different because the encoder does not
need to read from the source for all output buffers. This leads
to large fluctuation in terms of wall clock duration between two
neighboring audio sample outputs from the audio encoder. As a
result, the media time for the video track after adjustment using
the drifting changes wildly sometimes.
This patch addresses this issue by only updating the media drift
time when an audio source input buffer is read. the wall clock
for the audio track is also calculated at the same time when
the input audio buffer is read at AudioSource.
bug - 2959800
Change-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b
|
|
|
|
| |
Change-Id: I16dfc90bcb8a324d6ee9a38a5a1a31cc094c820a
|
|
|
|
|
|
| |
- bug 2950297
Change-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a
|
|
|
|
| |
Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
|
|
|
|
|
|
| |
- Also collect stats on lost audio frames instead of time spent on reading
Change-Id: I6380b143e4fbdcd894491aaae523331e90d0f04f
|
|
|
|
|
|
|
|
|
|
|
| |
This is 1st part of the work to allow audio and video resync if
we found out that audio and video are out of sync during authoring
- also fixed a problem in AACEncoder::read() where the buffer acquired
from the buffer group does not release when error out at
reading from source.
Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
|
|
|
|
|
|
| |
- only start to track the max amplitude after the first call to getMaxAmplitude()
Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
|
|
|
|
| |
Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
|
|
|
|
| |
Change-Id: I5f362252c25e2251bbfa9818b711ee23b4975248
|
|
|
|
| |
Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
|
|
|
|
| |
Change-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794
|
|
|
|
|
|
|
|
| |
- Extend the audio recording to AAC format
- Add support for setting some recording parameters
- Add stss box to the meta data in the recorded file
Change-Id: I41167bfd9d70ef9cd33906f8437b39c232b6d3b7
|