summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/include
Commit message (Collapse)AuthorAgeFilesLines
* Impose a size bound for dynamically allocated tables in stbl.Pawin Vongmasa2016-07-201-2/+7
| | | | | | | | | | Impose a restriction of 200MiB for tables in stsc, stts, ctts and stss boxes. Also change mTimeToSample from Vector to array. Bug: 29367429 Change-Id: I953bea9fe0590268cf27376740f582dc88563d42 Merge conflict resolution of ag/1170200 to mnc-mr2-release
* DO NOT MERGE omx: check buffer port before usingWonsik Kim2016-06-231-1/+1
| | | | | Bug: 28816827 Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
* SampleTable.cpp: Fixed a regression caused by a fix for bugPawin Vongmasa2016-04-211-0/+1
| | | | | | | | | | | | | | | 28076789. Detail: Before the original fix (Id207f369ab7b27787d83f5d8fc48dc53ed9fcdc9) for 28076789, the code allowed a time-to-sample table size to be 0. The change made in that fix disallowed such situation, which in fact should be allowed. This current patch allows it again while maintaining the security of the previous fix. Bug: 28288202 Bug: 28076789 Change-Id: I1c9a60c7f0cfcbd3d908f24998dde15d5136a295
* Resolve merge conflict when cp'ing ag/931301 to mnc-mr1-releaseZach Jang2016-04-211-1/+2
| | | | Change-Id: I079d1db2d30d126f8aed348bd62451acf741037d
* DO NOT MERGE Verify OMX buffer sizes prior to accessMarco Nelissen2016-04-211-0/+16
| | | | | Bug: 27207275 Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
* OMX: allow only secure codec to remotely call allocateBuffer.Wei Jia2015-10-022-0/+7
| | | | | Bug: 24310423 Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
* NuCachedSource2: fix possible erroneous early freeWonsik Kim2015-09-091-1/+6
| | | | | | | | | | | | Because the constructor of NuCachedSource2 sent a message to AHandlerReflector object, AHandlerReflector::onMessageReceived could have executed just before the object gets wrapped in a strong pointer, resulting in erroneous early free. Fix the issue by using static Create function to ensure the message is sent after the object is wrapped in a sp. Bug: 23882800 Change-Id: I38a9d7a3083f184b4c81d0b00ba1661721278855
* libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in ↵Wei Jia2015-08-181-2/+3
| | | | | | | SampleTable. Bug: 23247055 Change-Id: I29ef59c7ff09248063714e5013f7c33f66c5eebd
* fix soft renderer rotationChong Zhang2015-07-171-1/+3
| | | | | bug: 13222807 Change-Id: I6f6f417422d3a18117b594670bb23e3019d449bb
* stagefright: add support for output frame rendered callbackLajos Molnar2015-06-091-2/+7
| | | | | | | | | | | - Added FRAME_RENDERED event in OMX, used by tunneled video decoders to signal rendered event timing - Track buffers sent for rendering in ACodec and in SoftwareRenderer, and determine when they have rendered - Propagate render times to MediaCodec Bug: 20503131 Change-Id: Idf0a8714d5368b237c2285dd39fa82db847c232f
* stagefright: add support for batching OMX eventsLajos Molnar2015-06-051-0/+6
| | | | | Bug: 20503131 Change-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b
* Merge "stagefright: initial Ogg Opus support" into mnc-devRobert Shih2015-06-051-2/+2
|\
| * stagefright: initial Ogg Opus supportRobert Shih2015-06-031-2/+2
| | | | | | | | | | Bug: 19286916 Change-Id: I176d803aa5a16038d074aa06b41fc76da0be8952
* | stagefright: add support for fences in OMXLajos Molnar2015-06-022-8/+17
| | | | | | | | | | | | | | Pass Fence between Surface and ACodec, and between ACodec and IOMX. Bug: 12386081 Change-Id: Ifdc566979dec0d91ed8b07c3b69d2cf092accc73
* | stagefright: rework metadata buffer supportLajos Molnar2015-06-012-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add fence to new metadata buffer mode structure, but don't use it yet, so that we don't have to add another mode soon. - Change GraphicBuffers to ANativeWindowBuffer in new metadata mode. This removes internal depencency from vendor codecs. - Extend new metadata mode from SW encoders to all codecs. - Fallback from new metadata mode to old mode (so Camera can always use the new mode even with legacy codecs) Related-bug: 19614055 Bug: 13222807 Change-Id: I405a21dd6ce8e99808f633bfeab8f14278eb7079
* | stagefright: allow to overallocate OMX codec buffersLajos Molnar2015-06-012-4/+4
|/ | | | | | | | | Specify allottedSize for useBuffer and allocateBufferWithBackup, where OMX will see only the allottedSize, even though framework may allocate and use a bigger buffer. Bug: 13222807 Change-Id: Ibfa93f6c7b7c8ca0853ef17d4a0758e496eaf921
* IOMX: Enable buffer ptr to buffer id translation for arm32Andy Hung2015-05-261-2/+1
| | | | | Bug: 20634516 Change-Id: Iac9eac3cb251eccd9bbad5df7421a07edc21da0c
* Implement seek for MPEG2TSExtractorWonsik Kim2015-05-201-0/+13
| | | | | | | TODO: Use bandwidth-based estimation to seek forward long period. Bug: 20126845 Change-Id: I5e2f90784a9ce0dce348715dfcfc4f83ee196170
* stagefright: rename usePersistentInputSurface to setInputSurfaceChong Zhang2015-05-132-2/+2
| | | | | | | | and clear persistent surface pointer when MediaRecorder is reset bug: 21045118 bug: 21045402 Change-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a
* Merge "Stagefright: propagate InsufficientResources error" into mnc-devRonghua Wu2015-05-051-0/+2
|\
| * Stagefright: propagate InsufficientResources errorPraveen Chavan2015-05-051-0/+2
| | | | | | | | | | | | | | | | | | Propagate OMX_ErrorInsufficientResources when handling node-allocation failure any other error from the component. bug: 20132289 Change-Id: I1ed9626dab947227e3d5e983bbbeee89ad7b2d2a
* | MediaCodec: implement persistent input surface APIsChong Zhang2015-05-012-0/+17
| | | | | | | | | | | | | | Bug: 19127604 Bug: 19489395 Change-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3
* | stagefright: support setting/getting playback/sync config in MediaSyncLajos Molnar2015-04-301-0/+4
|/ | | | | | | Bug: 18249558 Bug: 19666434 Bug: 20057497 Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
* stagefright: add a 2kb cache for CallbackDataSource.Chris Watkins2015-04-201-0/+30
| | | | | | | | | | | | Without a cache the mediaserver does a lot of small reads which result in round trips through binder and jni to the app MediaDataSource. On a Nexus 5 I measured time to first frame from MediaPlayer for 1) 1350kbps h264, and 2) 20480kbps vp8. Without a cache, MediaDataSource was ~250ms slower than an fd. With a 2kb cache it's 30ms slower for (1) and 70ms slower for (2). Change-Id: If1e811db7b853c4f79430603318d4744ac30acb9
* stagefright: warnings be gone, some are now errors, use clangLajos Molnar2015-04-1710-14/+14
| | | | Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
* Merge "Unhide the android.media.[Media]DataSource interface."Chris Watkins2015-04-163-1/+53
|\
| * Unhide the android.media.[Media]DataSource interface.Chris Watkins2015-04-153-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | stagefright: metadata retriever changes for capture fpsChong Zhang2015-04-131-0/+4
|/ | | | | bug: 19460202 Change-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8
* Merge "stagefright: stop reading meta data after MDAT or MOOF"Chong Zhang2015-02-131-0/+2
|\
| * stagefright: stop reading meta data after MDAT or MOOFChong Zhang2015-02-131-0/+2
| | | | | | | | | | | | bug: 18520722 Change-Id: I213e4bde92a7830543c1815b324164b27d853049
* | process all SEI messages for CC extractionChong Zhang2015-02-121-0/+5
|/ | | | | bug: 19297083 Change-Id: I5b89e35cc2bd5fb2f332872941e7978f15a6f403
* am ce25d85a: am a93fd2be: stagefright: httplive: Decouple block size from ↵Leena Winterrowd2015-01-291-1/+4
|\ | | | | | | | | | | | | bandwidth estimate * commit 'ce25d85ad22e6df4b861d17e9e67cb6d0e62c363': stagefright: httplive: Decouple block size from bandwidth estimate
| * stagefright: httplive: Decouple block size from bandwidth estimateLeena Winterrowd2015-01-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A very small block size in PlaylistFetcher can lead to framework overhead and difficulty streaming high bitrate content, but since HTTPBase keeps a constant history of the past 100 HTTP reads, the block size directly affects bandwidth estimation and in turn, switching latency. Add setBandwidthHistorySize() to HTTPBase to allow setting the history size for bandwidth estimation. Call this within LiveSession based on the current block size to ensure that the number of bytes used for estimating bandwidth does not change if the block size is changed in PlaylistFetcher. Since a single TCP/IP packet can contain up to 64k of data, increase the block size in PlaylistFetcher from 2k to lcm(188, 1024) or 47k to avoid inaccuracies in read timings due to up to a comparable 47 reads from the same locally-cached packet instead of from the network. Also make HTTPBase::addBandwidthMeasurement() virtual to allow bandwidth estimation extensions that do not rely on a history list. Bug: 18821145 Change-Id: I5f957be01f5346e74cfb7eeb150ca4b397ad5798
* | resolved conflicts for merge of 44a2390b to lmp-mr1-dev-plus-aospLajos Molnar2015-01-291-4/+1
|\ \ | |/ | | | | Change-Id: I39fdc2e8895e1e943749b9a2628656a8fa5bb72b
| * Revert "HLS: QCom enhancements"Lajos Molnar2015-01-281-4/+1
| | | | | | | | | | | | | | | | | | This is to restore patch attributions This reverts commit f580806d893c4631f5324ff0af5c2db68a40ef42. Bug: 18821145 Change-Id: Idc49385fffccfde2a3915388fe3fe4e2b740d787
* | am cec272df: am 724b9ea5: Merge "Replace MidiFile player with a Midi extractor"Marco Nelissen2015-01-131-0/+95
|\ \ | | | | | | | | | | | | * commit 'cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f': Replace MidiFile player with a Midi extractor
| * | Replace MidiFile player with a Midi extractorMarco Nelissen2015-01-081-0/+95
| | | | | | | | | | | | | | | | | | | | | This gets rids of a bunch of special midi handling and replaces it with an extractor that works with NuPlayer and MediaMetadataRetriever. Change-Id: I8d0f5bbdde2ca24267cf4d62ab26afe9630e0217
* | | resolved conflicts for merge of 2efb9566 to lmp-mr1-dev-plus-aospNarayan Kamath2014-12-291-1/+4
|\ \ \ | | |/ | |/| | | | Change-Id: I4313941f3561176ce9f6ab055678fb626e570107
| * | HLS: QCom enhancementsRobert Shih2014-12-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit consists of: http://go/pag/c/188753 Add NULL check for empty playlist http://go/pag/c/188754 Fix deadlock for low duration clips http://go/pag/c/188757 Create a copy of last enqueued metadata http://go/pag/c/188755 Propagate target duration to LiveSession http://go/pag/c/188762 Decouple block size from bandwidth estimate http://go/pag/c/188756 Reduce memcpy calls for chunked content http://go/pag/c/188758 Dont resume if we have almost fetched till stop time Bug: 18821145 Change-Id: I7fd650999c6c50bbadffd65adee9020e669dfe62
* | | resolved conflicts for merge of 6571ed31 to lmp-mr1-dev-plus-aospLajos Molnar2014-12-112-2/+44
|\ \ \ | |/ / | | | | | | Change-Id: Ibaea3a0766f75a61964615482a9ef28651a42b37
| * | stagefright: misc fixes to software video encoders (and decoders)Lajos Molnar2014-12-102-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - move logic to set encoder parameters to common encoder class (similarly to what was done for decoders) - set compressed buffer size based on frame size and compression ratio, and codec-specific minimum size - set raw buffer size based on frame size and metadata mode - do not set stride and slice height on compressed ports - advertise only QCIF support for google H263 encoder - set large-enough input size for video decoders to support adaptive playback - do not change input buffer size on output port reconfiguration, as no input buffer reallocation takes place - do not return empty buffers with EOS after EOS has been signaled Bug: 18513091 Bug: 18639027 Change-Id: Ib13492ef66adf331aa4572c67d2b283ea020cb41
* | | am d86450b9: am c80b9b83: Merge "Fix struct vs. class mismatches"Chih-hung Hsieh2014-11-174-6/+6
|\ \ \ | |/ / |/| / | |/ | | * commit 'd86450b93ab3960ccd68aed14563aaa76b43ce9b': Fix struct vs. class mismatches
| * Fix struct vs. class mismatchesBernhard Rosenkränzer2014-11-174-6/+6
| | | | | | | | | | | | | | | | | | | | Fix something being declared a struct and forward-declared a class and vice versa. gcc doesn't care, clang complains about the mismatch. Change-Id: I7a7a8e9040e3c86fa1d73eb112631ea140861657 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
* | stagefright: add runtime debug supportLajos Molnar2014-11-121-1/+17
|/ | | | | Bug: 18285408 Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
* stagefright: fix surface input handling of software encodersLajos Molnar2014-10-131-0/+67
| | | | | | | | | - added SoftVideoEncoder for common color conversion and extension handling logic - fix YUV420 SemiPlanar handling that should be NV12 not NV21 Bug: 17935149 Change-Id: I9b8d05678b1862dd37bf349ea83d67bdf1bb5560
* stagefright: support passing GraphicBuffer in metadata bufferLajos Molnar2014-10-131-1/+3
| | | | | Bug: 17935149 Change-Id: I6bb5dd654e498a7153410afc052c2c8f7f35e44d
* stagefright: fix cropping handling for SoftAVC and SoftMEPEG4.Ronghua Wu2014-09-241-1/+6
| | | | | Bug: 17326758 Change-Id: I9b0c281d92cf1803e275b1768e9edab9404ea577
* stagefright: add adaptive playback support to SoftHEVC decoder.Ronghua Wu2014-09-231-0/+3
| | | | | Bug: 17326758 Change-Id: I245e2bd1490e810094ca550fdddfa87075bc2056
* Disconnect HTTP-based data source upon resetChong Zhang2014-09-161-0/+3
| | | | | | Bug: 17425250 Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
* stagefright: add adaptive playback support to SoftMPEG decoder.Ronghua Wu2014-09-111-1/+2
| | | | | | | This covers both MPEG4 and H263 adaptive playback. Bug: 17326758 Change-Id: I80a67b7f3ceab05e792f0a459439a8274bd78e20