| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Drop frames in NuplayerDecoder if the corresponding
OMX_BUFFERFLAG_DATACORRUPT is set from OMX.
Add a util function to easily switch off this feature.
Do not declare MediaSource explicitly.
Change-Id: I97bd238d52d660e1ab61eac222cdff28334cc5cc
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use a generic function to get flags while creating
extractor, so that there is no restriction to a
particular usecase.
CRs-Fixed: 911338
Change-Id: I8520d2ea9b25ab564b7eee6610744fcaa364fe87
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
mDataSource can be deleted by client thread while GenericSource
looper is accessing dataSource in sniff functions, which can
lead to race condition. Add local sp<> to hold an additional
reference to dataSource.
Change-Id: I9e51f75f3c2bd703e381230dd93cb4d3f6621dab
CRs-Fixed: 923729
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
DataSource and HTTPSource can be accessed/modified by
GenericSource's looper and Client's thread which can
lead to race conditions when copying the sp<>.
Add a Mutex lock to synchronize such accesses and avoid
race conditions.
CRs-Fixed: 906899
Change-Id: I2fb4b4a7079e638e151f4fe67a780007a4011652
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Return error if the index passed by client is incorrect rather than
returning OK with null buffer.
Also add a null buffer check in MPEG4Writer as it shouldn't rely on
the source returning the correct error code, just as a precaution.
Change-Id: Iaefcd57a545ec3ce4ec0b8d4220bdf41377ff798
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
MPEG4Writer makes a copy of encoded buffer to avoid holding on
to the read buffer. This is not needed with MediaCodecSource,
as the encoded-output buffer is already copied to a heap buffer.
This saves a copy and some power.
However, cloning the buffer is still needed for upstream sources
that cannot afford to keep the buffers with writer up until they
are released.
So, pass a hint in buffer's metadata to indicate if it is OK
to delay the release and not copy the buffer
Change-Id: Ib59ac29ebc6ce4afd6fc272688a8260438ab1517
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
-QTI Flac decoder is used only if QTI_FLAC_DECODER flag
is defined.
-Enable QTI_FLAC_DECODER flag if respective feature
flag is enabled.
Change-Id: I192e30af3e53a57f13aa2be5dc92bfbe5f20d096
CRs-Fixed: 927012
|
|\ \ \
| | |/
| |/| |
|
| |/
| |
| |
| |
| |
| | |
Use set buffers mode if parser supports it.
Change-Id: Ia3d12f15fa28f25e1ccb724158cc91ce26fc81ed
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The MediaCodec member associated with an NuPlayerDecoder
is cleared if configure fails. A pending seek operation in
NuPlayer can issue a ResumeDecoderAction. Add a NULL
check before accessing the MediaCodec instance to handle
this resume.
Change-Id: Idc6c15168ec922ca1bd6d867cbe59847647c6f26
CRs-Fixed: 913215
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Increase the timeout to 30 secs from 10 in order to give the
components more time to move to idle state, otherwise freeNode
during codec release will also try to move it to idle and bad
things will happen. This is a temporary fix until software
codecs error handling is improved.
Change-Id: I89203bfbce1b81f53ed6e2a33747ec40a786507d
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| | |
This reverts commit 427d20a12115dbb35c6391f014f68e5283b3e6a2.
Change-Id: I80295041a49295852701832d5af71adda862df8e
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Close AudioSink object explicitly before clearing NuPlayerRenderer
to avoid race conditions between NuPlayerRenderer and AudioSink callback
thread.
CRs-Fixed: 927545
Change-Id: Id6cef83bc8e4b6f581641b19b0bbd29eee3704bb
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
- In direct PCM usecase if setplayback rate is called then
invalidate the common block and send empty offload structure
below to use default path.
CRs-Fixed: 916660
Change-Id: I6df7c10b7115c77a19564e2f9fabc511d76a2410
|
|/
|
|
|
|
|
| |
to invoke the customized method correctly.
CRs-Fixed: 923592
Change-Id: I8a7da0a679bebaa70076920936081be4470da6d1
|
|
|
|
|
|
|
|
|
|
|
|
| |
InstantiateDecoderAction is executed after performing reset.
By the time performReset call is over, mSource is cleared and
instantiateDecoderAction is executed on a NULL mSource - causing
crash. At this point of time, mSource is already reset and it is
not intended to be used in future, so, we can safely return.
Check for NULL to avoid crash.
CRs-Fixed: 902831
Change-Id: If438da2b8c778c6db3640c0bc2e53d3ef68d286c
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Needed for moving to clang
Change-Id: I984ce0d452bcd9025d743c0f081bb0d22587b106
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
Add in hooks to route CameraSourceTimeLapse creation to AVFactory so
that we can add our customizations.
Change-Id: I309a247ba6e3c5626cfba096677a6dbfeae543f3
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On a teardown event, follow proper shutdown sequence
if the decoder instance type is not passthrough.
This is needed to ensure NuPlayerDecoder, MediaCodec do
not enter an invalid state due to forced clear while
handling a teardown event.
CRs-Fixed: 916643
Change-Id: Ied5df07dc8567974ef02e3a0bb415795f31f2ed2
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
-Start the Decoded PCM offload playback on speaker or headset and
connect BT, audio is not played on BT.
-During tear down event on BT connection, instantiation of decoder
is initated before actual shut down of decoder completes.So
decoder is not getting instantiated again after tear down event.
It is a race condition between instantiation of Decoder and
shut down of decoder.
-Defer the instantiation of decoder in intermediate state
CRs-Fixed: 916643, 829392
Change-Id: Ic346cb7bb7b1babe21618daa8f8746c00f4b61b3
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
MediaCodec could send out message of output buffer available right before
it hits an error and clears its buffers.
Change-Id: I1b11c88cdcb3fca7ddd6103c6d3d28642304f079
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the component is force-released after timeout, there could be
a race condition where component posted a message just before it
was released. This posted message will cause ACodec to wrongly
invoke OMX API on the component which was freed already.
Move ACodec to uninitialized state where all component messages
will be safely ignored.
Change-Id: I71da7c7d021210fd6bed44761740161a5d8894e7
CRs-Fixed: 884165
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
This reverts commit e17afa888040eb5fbd31249305efd88ee03bb5bc.
Change-Id: I7afb6a055d3efb08fdbdff19f0bbad01934614e8
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, if the call getRenderPosition() fails, no error
is propagated to the caller. As the handling is already
present in NuPlayerRenderer, return an error if the call fails.
CRs-Fixed: 912730
Change-Id: I01e3348ffd696ce781287451b9a9478b50037ade
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Check added in HTTPLiveSource to throw error if seek
is called in live streaming usecase.
Change-Id: I1d478ea506734bd9b6bbfba4f04649be398f3c7a
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In IsHTTPLiveURL(), "m3u8" is being used in sub-string comparison
to determine if the given URL is HTTPLiveURL or not.
This can lead to false results incase if the given URL has
"m3u8" as part of it.
Hence use ".m3u8" in strstr() instead of "m3u8".
Change-Id: I7f4a3c641d831b3ef77d166701f3e3edabdaebc0
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The vector mIoDescriptors can be simultaneouly modified
and accessed by 2 threads. Acquire a lock while wrapping
the ioDescriptor in a sp<>
Change-Id: I73c79ef8eca092b500a7ead3a5ebd0bcf75f9920
|