| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* Found using "perf sched latency"
Change-Id: I358a6f9baf3d52b9ed7f010c06893dbf839e1973
|
|\
| |
| |
| |
| |
| |
| |
| | |
https://android.googlesource.com/platform/frameworks/av into cm-13.0
Android 6.0.1 release 3
Change-Id: I2f2a1fe1b58c828e8341556996211562d6e195ab
|
| |
| |
| |
| |
| | |
Bug: 25070434
Change-Id: Ib0eb6a419683a0e686a4f63b82e9300cb1f69484
|
| |
| |
| |
| |
| | |
Bug: 25070434
Change-Id: Iade3472c496ac42456e42db35e402f7b66416f5b
|
| |
| |
| |
| |
| | |
Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
|
| |
| |
| |
| |
| | |
Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
|
| |
| |
| |
| |
| |
| |
| | |
Acquire lock after DataSource::CreateFromURI() to avoid a deadlock/ANR
as GenericSource::disconnect() also tries to acquire same lock.
Change-Id: I28430800853ed11e0a37a8a38defab72470c3f6d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
This reverts commit a5c3b990807732d1c4a7c1290cba06a605675973.
Change-Id: I1f267cf7ab90b1f5c38e0659df02c8ef518382ed
|
| |
| |
| |
| |
| |
| |
| |
| | |
* In which our hero unites the legions of distant worlds together
as one at last to fight anew until the segfaults boil the lands
and the New Version cometh.
Change-Id: I869b2ab254968ed7a133827ea9e5ba6056f68a5c
|
|\ \
| | |
| | |
| | |
| | |
| | | |
git://codeaurora.org/platform/frameworks/av into cm-13.0
Change-Id: Ia41df61c3ccfeb809572b63a4b1a8ca6bd85dfb2
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | | |
git://codeaurora.org/platform/frameworks/av into cm-13.0
Change-Id: Iec8118b9a24fafe47e4006fca8a8e993bacb5ba8
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Use set buffers mode if parser supports it.
Change-Id: Ia3d12f15fa28f25e1ccb724158cc91ce26fc81ed
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Android 6.0.0 release 5
Conflicts:
media/libstagefright/OggExtractor.cpp
media/libstagefright/Utils.cpp
Change-Id: I2ea44836c5cc3da8ffa2092522293c433bf7538c
|
| |/
| |
| |
| |
| | |
Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, audio only streaming playback with very low frame size
faces underrun in compressed playback. This causes underruns while
playing initial frames. By increasing the max buffer accumulation
limit in Generic source, the underrun is avoided.
Change-Id: I37949f65b9a08d0776f2346d665399be2ecd0265
CRs-Fixed: 875129
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
EOS isn't notified to nuplayer immediately upon
seek. Stale packets before seeking is still held
by track, thus EOS won't be returned until all
packets are consumed.
To fix this issue and align nuplayer's behavior
with awesome player, stale packets needs to be
cleared on seek.
Change-Id: I00d825cad7a9f3de1daf494078e7379dca8eba2e
CRs-Fixed: 828785
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Extend NuPlayer setDataSource for streaming
- Create ExtendedCachedSource only for MediaPlayer streaming
usecases by passing a flag to DataSource to use extended cache
- Add extension for MediaHTTP
Change-Id: Ic87c3744bf905eb8742863951b809e38d0a60339
|
|/
|
|
|
|
|
|
|
|
|
|
| |
GenericSource uses the timestamp of last video buffer
read in readBuffer() to seek audio, due to which audio
starts at a later position leading to frame drops.
Add change to use the first video sample timestamp
to seek audio
CRs-Fixed: 780094
Change-Id: I5f2061e67994a3a0330b527bd3164ee04ed04005
|
|
|
|
|
|
|
|
| |
pull 4 video buffers at a time, and start pulling when we're down
to 1 buffers to avoid starving the decoder.
bug: 22320866
Change-Id: I10914dc092f3830ecb6296e2d9ebf9064ff7a5dc
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 19061436
Change-Id: I0fc0d6207b0d3297d64aadab3e81448e3f3fa1de
|
|/
|
|
|
|
|
|
| |
If the underlying source never reported a duration, GenericSource
would report a duration of 0. The right value to return is -1.
Bug: 21391417
Change-Id: Ie53045f819727b0ac79ed6719991724c069d7650
|
|
|
|
|
| |
Bug: 19063416
Change-Id: I23d1a3788006a0d68effa01fe9ee1d92fe06739c
|
|
|
|
|
| |
Bug: 20729923
Change-Id: I65a8aedf089cfa4756fc9de433949c1b4bd416ce
|
|
|
|
|
| |
Bug: 20537676
Change-Id: I0bd11527ccd022c39d94b7877df81de4da1b14a6
|
|
|
|
| |
Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.
MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)
Only NuPlayer supports this new data source.
The change introduces:
* IDataSource: The binder interface for DataSource.
* JMediaDataSource: The native counterpart to the java interface. It
implements IDataSource.
* CallbackDataSource: A stagefright DataSource that wraps an
IDataSource.
Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
|
|
|
|
|
| |
Bug: 19984798
Change-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747
|
|
|
|
|
|
|
|
|
|
| |
it's only needed if we post Reset to GenericSource's looper, but
we now do reset outside NuPlayer or GenericSource's looper.
also don't allow buffering percentage to go backward unless
there's seek or pause.
Change-Id: I1a39df4bc0a685f76d8558c368db1bac92b490c2
|
|
|
|
|
|
|
|
| |
Change replyID-s from uint32_t to an object
Move reply handling into the loopers (to reuse a common mutex)
Bug: 19607784
Change-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be
|
|
|
|
|
| |
Bug: 19607784
Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
|
|
|
|
|
| |
bug: 18730095
Change-Id: Ibd4f54907949daae1d095fa0922050310d16698f
|
|
|
|
|
|
|
| |
also fix buffering percentage report (should be the buffered position)
bug: 18730095
Change-Id: I11e7ca4ba9e772a1ae76861ca1ff1725b62f65ae
|
|
|
|
|
| |
bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
|
|
|
|
|
| |
bug: 18554455
Change-Id: I8ff08e7270c65c375205169eb068f361f2a4a727
|
|\
| |
| |
| | |
changed to fix pause-seek-getCurrentPosition." into lmp-mr1-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fix pause-seek-getCurrentPosition.
NuPlayerDecoder: Notify resume is done when EOS is reached.
GenericSource: add code to signal pre-roll for seek so that it will seek to the requested position,
not only I-frame. This code is disabled temporarily till we have a full solution to handle both
single seek and continous seek gracefully.
Bug: 18625723
Change-Id: I99a54d4d549e0d805e3abcc227fbf96c16405af0
|
|/
|
|
|
|
|
|
|
|
|
| |
- separate secure decoding from widevine
- use non-blocking mode when reading from widevine source
- schedule buffer read when packet source is empty
bug: 18536934
Change-Id: I65a8e5e819975ca6900ed8e887a442940f2d5d38
|
|\ |
|
| |
| |
| |
| |
| | |
bug: 18434887
Change-Id: I70dff721710b7299d1ca1f8520278f82d355141d
|
|/
|
|
| |
Bug: 18020001
Change-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572
|