History log of /frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a9ab2a382558941ea7fe92324a3d97848686ca8 14-Jun-2017 Dongwon Kang <dwkang@google.com> Revert "Throw IAE when crypto or descrambler is not given for secure codec"

This reverts commit aaa5e6400d7654ca1a7dcebeba36214ed060e3cb.

Test: revert change
Bug: 62570231
Change-Id: Ic1d8b67616a3ac8f491e367d91b3a70d7d22ffa0
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
aaa5e6400d7654ca1a7dcebeba36214ed060e3cb 08-Jun-2017 Dongwon Kang <dwkang@google.com> Throw IAE when crypto or descrambler is not given for secure codec

Test: MediaCodec throws IAE for the given decoder stress test
Bug: 62100632
Change-Id: I33e7a1f942c49647a17bc2728f1d3b099265628d
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
4c161506a542671f96177b16830f9b362f7a6c61 11-Apr-2017 Jeff Tinker <jtinker@google.com> Fix mmap size 0 errors

ACodecBufferChannel was attempting to create a MemoryDealer
with zero size, which resulting in mmap failures. This was
causing the ExoPlayer GTS test to fail to complete due to
the Drm HAL being blocked in createPlugin.

Test: run gts -m GtsExoPlayerTestCases

bug:36870961
Change-Id: I0945e95565ea4ef05e53fb13cf5ddbba43f27173
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
6dcab2bafd847be84c2c2230bbd04af9c45c491e 28-Mar-2017 Chong Zhang <chz@google.com> DRM: more fixes for heap base mapping -- DO NOT MERGE

Heap base for the same heap could be mapped to different values
after they go across binder to CryptoHal. So we can't use heapbase
to index the heaps.

Since each ACodec instance allocates all its shared memory buffers
from the same memory dealer, we let CryptoHal assign a sequence
number to the ACodec when it calls setHeap. In subsequent calls
to CryptoHal::decrypt, reference the heap by the seq num, and ignore
the heap base address.

Bug: 36479980
Bug: 36209723
Bug: 36660223

Test: the above bugs don't repro

Change-Id: I2f519a689a5891447385d1bf9d6e668bb3b4dbe2

(cherry-picked from bf628da1e231e2e4d6bf61f9884e120bae3f9156)
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
d07c92742fc5801cab8e99801f591365986acbe9 28-Mar-2017 Chong Zhang <chz@google.com> Revert "Revert "Fix decoder instantiation during playback"" -- DO NOT MERGE

This reverts commit de7268d8e20b883ec88a7ff19ad560a665373484.

Bug: 36479980
Bug: 36209723
Bug: 36660223

Change-Id: I8d83305a28dc35cee16f8f1068c90fdd0b9effff
(cherry picked from commit 6aa5c0662c86c7f7b2890577a207086eeecbd177)
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
3c2c5556f44765abe7e3dc25584a2ccb316a9b14 23-Mar-2017 Wonsik Kim <wonsik@google.com> stagefright: properly handle crypto object reset

Bug: 36449774
Test: Run PoC in the bug
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content on Play Movies
Change-Id: Ia7b38ed586460ad51fa66a6959211a7dfffa3493
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
de7268d8e20b883ec88a7ff19ad560a665373484 22-Mar-2017 Jeff Tinker <jtinker@google.com> Revert "Fix decoder instantiation during playback"

This reverts commit 33327c7f0f04bcce3f8e8ee23953f87efc423037.

Bug: 36479980
Bug: 36209723

Change-Id: I8ff9422086f5ba9ba5df60135d20b9d8bfc0be52
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
33327c7f0f04bcce3f8e8ee23953f87efc423037 16-Mar-2017 Jeff Tinker <jtinker@google.com> Fix decoder instantiation during playback

When a decoder is created while another decoder
is in use and the two decoders share a common
crypto instance, decryption results would become
indeterminate, which could cause the decoder to
hang. This change adds a notification to the
crypto instance so it can update state when its
ownership changes.

bug: 36209723

Test: playbacktests-debug-androidTest.apk as
described in the bug.

Change-Id: I453c260eace5543dd79a3569bf6a9592394c4113
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
3b2847fa5506dc265d2e46f067bfbb66ae209f74 19-Jan-2017 Chong Zhang <chz@google.com> MediaCas: add CAS support to MPEG2TSExtractor and MediaCodec

bug: 22804304
Change-Id: I14ec4ffc8c72e283f5cfd742dabaf4ad8bd9d698
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
a53d6553fce1818bdf87833f93633c93ad1b5915 20-Jan-2017 Jeff Tinker <jtinker@google.com> Implement client code to use Drm and Crypto HALs

This change adds DrmHal & CryptoHal classes that connect to the Treble
HAL interfaces for drm. These classes mirror the existing Drm and
Crypto classes that connect to the DrmPlugin and CryptoPlugin
interfaces. Having both allows mediadrmserver to run in either mode
while the HAL is stabilized.

The shared memory interfaces between mediaserver's ACodecBufferChannel
and ICrypto had to be reworked to use the Treble HALs. Specifically,
the shared memory path for returning decrypted buffers in the
non-secure case had to become separate instead of piggy-backing on the
source shared memory buffer. A separate shared memory destination
buffer is now allocated on the buffer channel. An abstraction for a
decrypt destination buffer was also introduced to clarify ICrypto's
decrypt method.

Tests: Playback using Play Movies and ExoPlayer works on angler
with and without the treble hal enabled.

bug: 32815560
Change-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
dff26e5f53b248fd8cc6605850240c7e7c5438dc 01-Dec-2016 Wonsik Kim <wonsik@google.com> Revert "Revert "MediaCodec refactoring part 2-b: introduce BufferChannel""

- MediaCodec stops tracking the whole buffer array from OMX.
- BufferChannel handles array management instead, if necessary.
- MediaCodec delegates secure buffer management to BufferChannel.
- Remove sf2.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Test: Mirror the screen via Cast.
Change-Id: I1ca705687956ad972e31257853c54e29cbd7181a
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
fad01bc45bd47b8f12c89857fee20b7e37310125 06-Jan-2017 Wonsik Kim <wonsik@google.com> Revert "MediaCodec refactoring part 2-b: introduce BufferChannel"

Bug: 34059849

This reverts commit 11b72100e02e02b6cd8a6b14cd2068c96dc49b7d.

Change-Id: I0ab93a617477861a4e6f43152e6b03d5c88783ab
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp
11b72100e02e02b6cd8a6b14cd2068c96dc49b7d 01-Dec-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 2-b: introduce BufferChannel

- MediaCodec stops tracking the whole buffer array from OMX.
- BufferChannel handles array management instead, if necessary.
- MediaCodec delegates secure buffer management to BufferChannel.
- Remove sf2.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Test: Mirror the screen via Cast.
Change-Id: Idc9fdee42ea0cdd3b5f15ba5c51647c3e16504a1
/frameworks/av/media/libstagefright/ACodecBufferChannel.cpp