| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* In case a device has a /vendor partition which cannot be
modified, this allows us to short-circuit the audio_effects.conf
file which might be placed there with one of our own which
lives on /system.
Change-Id: Ief87bd4cfba2c3188b0dff122d91f773b7f3d92d
|
|
|
|
| |
Change-Id: I631ba6267b3769d9da498329a39ac89c609be6d8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output from gcc before and after this change,
and from llvm are identical, except the ADRL to ADR change.
In this case, old "ADRL r8, Table" is translated into
add r8, pc, #1184 ; 0x4a0
nop ; (mov r0, r0)
and new "ADR r8, Table; NOP" is translated into equivalent:
add r8, pc, #1184 ; 0x4a0
nop {0}
BUG: 21169627
Change-Id: I64130e99f6506494b9c4a6e0f1f850491d481242
|
|
|
|
|
|
| |
This got dropped in a previous merge.
Change-Id: Ic5ec1f6662944deee32e740697fc55774c894033
|
|
|
|
|
|
|
|
|
|
| |
This condition check will only pass when compile for 32bit platform.
It will not pass when generate the 32bit binary or libarary for 64bit platform.
update it with variants like LOCAL_SRC_FILES_arm to make it used by
32bit binary or library on 64biy platform as well
Change-Id: Ia887610a97c68fa58925d2d86c5eb29cb397d6ef
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove useless stab debug info directives .func and .endfunc,
which are not recognized by clang/llvm integrated assembler.
* Replace require8 with REQUIRE8, preserve8 with PRESERVE8.
* Replace LDRNESB with LDRSBNE, LDREQSB with LDRSBEQ, etc.
* Replace VST1 {*.U8} with VST1.8 ..., VLD1 {*.U8} with VLD1.8,
and VMOV with VMOV.I8.
* New assembler output code is identical or equivalent to old gas output.
For example, the 3 references of
LDR r7, =0x80808080
in omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Average_4x_Align_unsafe_s.S
produced 3 instances of
.word 0x80808080
by llvm integrated assembler but only one by gas.
Change-Id: Ifdcd5bee915a7534198d7f219bceab72045f6a22
|
|
|
|
|
|
|
| |
Integer sanitization causes too many false positives, and so far all
have been benign or intentional.
Change-Id: I3c40e478e3da31023a635f4ef212873c1fb644f3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intent here is supposed to be to use local time (which mktime(3) does)
unless the string ends 'Z' in which case we're supposed to use UTC. The UTC
equivalent of mktime(3) is timegm(3).
This code has come to my attention in two ways. Externally it was pointed
out that the localtime_r(3) was accessing uninitialized memory leading to
unpredicatable results. Internally, this is the only caller of the
non-standard mktime_tz --- ironically using it in a way that -- apart from
the flakiness caused by the uninitialized variable -- would make it behave
like the standard mktime(3).
Bug: https://code.google.com/p/android/issues/detail?id=185159
Bug: http://b/15765976
Change-Id: I5f015727c4c08a139ef478fafba5811a9758d5df
|
|
|
|
|
| |
Bug: 25843966
Change-Id: I18003aa20be1ff0a93473ecd8b4995861bed8c89
|
|
|
|
|
| |
Bug: 25843966
Change-Id: I16aa3eb0fc4c8d507b92d3a84139cfef6302c96c
|
|
|
|
| |
Change-Id: I706d7ef81a138739996e0fbb2759348c7a4be8a6
|
|
|
|
|
|
|
|
|
|
| |
Freeing the input buffers & node in ACodec::OutputPortSettingsChangedState
on error, can cause NuPlayerDecoder to deference freed buffers.
Instead of freeing the node internally on error in
OutputPortSettingsChangedState, notify error to NuPlayer, and add
kWhatShutDown handling to initiate Idle state transition.
Change-Id: I7778d759c564fad27d266ac63d293bf0c30c029b
|
|
|
|
|
|
|
| |
CameraSource can be null when we do setupCustomVideoEncoderParams,
add a null pointer checking for it.
Change-Id: Ie28018e67d623b03bb7c3c7dbc8a92669158b84b
|
|
|
|
|
|
| |
* Fill in stub methods to improve video encoding performance.
Change-Id: I2bbf192e022043d161429c6cabf4a7d740802d20
|
|
|
|
| |
Change-Id: Ib98c9c94cccc902708d25a9b8d81bc54fd6bbf7c
|
|
|
|
|
|
| |
* CAF commit bd42a7ac3a60c0d8a079b4567484c9b006bac8ad upstream
Change-Id: I457ccab603647f3139ea2199a544f64ac3d1a214
|
|
|
|
| |
Change-Id: Ifbdf02d46c54a6d28e86e0d5314731b081383a00
|
|
|
|
|
|
|
| |
- Compute the track latency by frame count returned
from audio hal when in TRANSFER_SYNC mode
Change-Id: If7bbf780abc8e141eb35eea44c01c583b1290d3c
|
|
|
|
|
|
|
|
|
| |
* Use the raw PCM format to perform the early open of the audio sink.
This ensures that the renderer will do the same.
* Fill in stubs for timestamp and position calculation. This fixes
underruns and other issues.
Change-Id: I8d761e523194cc12f387b4b2aa1594536e56da01
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* A new sniffer might want to defer it's work based on the
knowledge already gained by those who have already sniffed.
* This is the case for our FFMPEG sniffer, which is pretty awesome
in that it is able to fill in all the gaps and detect almost
anything, however the cost is additional latency during scanning
and startup.
* As we cycle thru each sniffer, feed the current score to the next.
It is up to the extractor to use this knowledge wisely.
* Additionally, print some metrics on how long the sniff took.
Change-Id: I5dc8de11ed4939a01eabb0cae0b4e1e71d991eea
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* When the extended sniffer detects a file type that only it can
handle, it will set a flag in the metadata. In some cases,
an extractor exists in Android already for the filetype however
it may be known to fail or we may want different behavior.
* This flag is checked in MediaExtractor, but GenericSource does
a little dance in order to stack DataSources for DRM and was
throwing out this metadata (it's not really used by AOSP), so
the desired behavior was not seen for some cases.
* Add a new optional argument when creating the MediaExtractor to
pass in the metadata from the original sniff so that the extended
extractor is used where necessary for streaming formats.
* This fixes FLAC offload with Tidal.
Change-Id: I7d6b875346ce63b60cd3c37572b779665bfe217c
|
|
|
|
|
|
|
| |
* Extractor now checks if Stagefright already reported a high
confidence level. Treat it as a first class citizen.
Change-Id: Id41af84a0f9f9c51df4602f283776b5d19bf666b
|
|
|
|
|
|
|
| |
* Additional cases for timestamp reordering (smooth out AVI playback)
* Enable hardware thumbnailer
Change-Id: If828181850a5627dc1f91b118974905d22ab24e9
|
|
|
|
|
|
| |
* FFMPEG will now handle this automatically. Remove the workaround.
Change-Id: I7007af16ce1fe43358b9c1e3b3b469b717df0100
|
|
|
|
|
|
|
| |
* In case we do a conversion, we need this to seek the extractor
to the right position for extracting a thumbnail.
Change-Id: I003a599c15890aeeb6d2494b219f170ba5b278d8
|
|
|
|
|
|
|
|
|
|
|
| |
Corrects the validation of the number of channels that was causing a floating
point exception when this number is zero.
It also corrects the range of admitted channels on WAV files.
Change-Id: I21f005d1f30c1fd93206c6bce0d3be4b8307059c
Signed-off-by: Niel Alejandro Paz <niel.paz.hernandez@intel.com>
Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Revert 3cdaed88daeeebfe05e7913837f41c2d92f411cc and
883ff4f4c41ae9bf84d1912ab054fe38f7505dd0, and fix the overflows that
should have been clamped instead of allowed to overflow.
Bug: 25843966
Bug: 23752600
Change-Id: I9af1726d058eb8eeaa80fa8df74fe0a3759486c1
|
|
|
|
|
|
|
|
|
|
|
|
| |
clock_gettime() can change errno if something goes wrong (most
commonly setting EBADF). This failure should not cause a failure
in ClientProxy::obtainBuffer() if the futex returned successfully
or with a known status. Preserve errno before calling clock_gettime
to prevent propagation of an invalid, unexpected error.
Propagated from Ib69201031a81395ece47dd8ad7c4dcddd2b00153
Change-Id: I48320fc287b6a0ef2a1b9e71f9d0e979bd6343a5
|
|
|
|
|
|
|
|
|
|
| |
b/25372978 tracks an assertion in Renderer when the
size of the buffer to be written is not a multiple of audio sink
framesize. Until resolved, avoid assertion and notify an error
back to the player
CRs-Fixed: 941002
Change-Id: Id54b357dcbf7afe90e2290665392275d6dd5eaef
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While direct output should ideally be abstracted from the AudioTrack,
the use of an offload path can leave data stuck in the shared buffer
(especially if the clip is short such that the buffer is never
entirely filled). To ensure that all data is played out on track
stop(), AudioTrack must be aware of the direct output or offload
session. Set the DIRECT track flag for track offload use cases to
avoid losing data in the shared buffer.
CRs-Fixed: 944878
Change-Id: I13f840b5d67be56e03ec65d3bc7d44f1090b48c5
|
|
|
|
|
|
|
|
| |
not request or send out data."
* Missing from backport
Change-Id: I562d28a4770aec2f9c547c482e79cca49be9dbb9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The aac audio profile retrieved from the AACExtractor
is ranged from 0-3.
However the corresponding OMX header definition
is from 1-4:
typedef enum OMX_AUDIO_AACPROFILETYPE{
...
OMX_AUDIO_AACObjectMain = 1,
OMX_AUDIO_AACObjectLC,
OMX_AUDIO_AACObjectSSR,
OMX_AUDIO_AACObjectLTP,
...
Change-Id: I1c8932abe19bff918acd5e4d8c2e39eaaac4f6c3
|
|
|
|
|
|
| |
* Remove bogus code and replace with proper reassembly.
Change-Id: I16a84eb94e5535fc2c4044875144f8007852a4d2
|
|
|
|
|
|
|
| |
* Pass the bits-per-sample value when setting up the raw PCM
output in case FFMPEG is decoding as it will produce floats.
Change-Id: If5a8cc43a1c41e522324e77871823c9084f92169
|
|
|
|
|
|
|
|
| |
* Be consistent about AAC profile selection in both Stagefright an
our custom plugin.
* Also fix duplication in the override code.
Change-Id: I9d2724ea8861bc9d7db6a100a2f633f81d243c6c
|
|
|
|
|
|
|
|
|
|
| |
- Originally, audio record latency is calculated by frame
buffers allocated for this track, while the actual
latency is determined by audio hal.
- Compute the track latency by frame count returned
from audio hal when in TRANSFER_CALLBACK mode
Change-Id: I26e5e47e8cc3720895b962f7aab8a595a54b7c83
|
|
|
|
|
|
|
|
|
|
| |
request or send out data.
Port of AOSP commit: 3bc667014875aba35102941b3997d242c303aa0d
Bug: 25372978
CRs-Fixed: 941002
Change-Id: Id66ab9b9961d5a3b9fb783ae73c27ed1c8054db8
|
|
|
|
|
|
|
| |
This reverts commit 00208bc4c6d725ea9ce0795a897d42b5a32360c3.
CRs-Fixed: 941002
Change-Id: I22c9954fc3ed3207f218dde0c02f7dddc8751df9
|
|
|
|
|
|
|
| |
This reverts commit 9944bae1fda19634b04cd4e2b755c3d368405a8b.
CRs-Fixed: 941002
Change-Id: Ief7c6a1a8d9fd290da49867b1fef9f6e9e2a51a1
|
|
|
|
|
|
|
|
|
| |
-Update channel mask from channel count if parser reports channel mask to be 0
-Update source format for each buffer by extending call to setPcmFormat when
aggregation is not done
Change-Id: I1f4ce07e3e784d85e63be03a69ac1395bfa913e2
CRs-Fixed: 948222
|
|
|
|
|
|
|
| |
Do not drop EOS frame even if DATACORRUPT flag is associated
with it.
Change-Id: Ib231dd8eb89aa14f824760562fcc371246d7ba9d
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously SkipCutBuffer would check its input parameters to ensure
they were sane, however since bogus values might be the result of
overflows, and overflow protection was recently turned on for
libstagefright, the compiler's overflow checks were performed before
SkipCutBuffer's, resulting in abort rather than just ignoring the
bogus values.
Moving the multiplication by framesize into SkipCutBuffer fixes this.
Change-Id: I1ad6744bb045a5212701bbf6ee44eecb5f318210
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IMediaMetadataRetriever::setDataSource(fd, offset, length) takes the ownership
of |fd| on the direct invocation, and doesn't take the ownership on invocation
from Binder. This is inconsintent to other similar methods like
IMediaPlayer::setDataSource, and causes potential double close of |fd|.
This CL changes the caller and implementations to leave the ownership to make
them consistent.
Also, fixes a double close in IMediaPlayerService::setDataSource in an error
case.
Change-Id: Id551a1e725c4392b0fe6b7293871212eb101c0a5
|
|
|
|
|
|
| |
* Found using "perf sched latency"
Change-Id: I358a6f9baf3d52b9ed7f010c06893dbf839e1973
|
|
|
|
| |
Change-Id: I63b78d3cabf981111cf9eb3a2816805db7d105e1
|
|
|
|
| |
Change-Id: Ie9a3a8c335611d11c84bf24cb50c73c1644ad381
|
|
|
|
|
|
|
|
|
| |
The AACExtractor does not pass the aacprofile via
kKeyAACAOT and google aac decoder does not support LTP profile.
Solve by setting the kKeyAACAOT profile and use ffmpeg
when it is aac LTP profile.
Change-Id: I79762bd23e3bcc34f2ea56e35686162f1630c06b
|
|
|
|
| |
Change-Id: I1f6a2797156eba00e8f4cc1a5728b8e274ce965f
|
|
|
|
|
|
|
| |
* Annotate source buffers with the audio format
* Add support for 32-bit signed PCM offload (zero copy)
Change-Id: Id758830784740c0a038452d383c8ec8e3e4593bb
|
|
|
|
|
|
| |
* Remove unnecessary check condition.
Change-Id: I3267a0c13165d74a2ea90333b42f000b51ace98b
|