summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/include
Commit message (Collapse)AuthorAgeFilesLines
* 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
* stagefright: add adaptive playback support to SoftAVC decoder.Ronghua Wu2014-09-101-1/+8
| | | | | | | | Also change SoftVPX decoder to use common handlePortSettingsChanged and copyYV12FrameToOutputBuffer method. Bug: 17326758 Change-Id: I6fb2ee8fb9291f69c70493b8558af341adc1f4b2
* Add adaptive playback support to VPX decoder.Ronghua Wu2014-08-282-0/+10
| | | | | Bug: 13842676 Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
* stagefright: Fix race condition between MediaCodec and SoftwareRendererRonghua Wu2014-08-151-4/+6
| | | | | | | | | | | * Set the buffer's format info when it's returned from OMX component. * Move frame format meta from SoftwareRenderer's ctor to the render call. I.e. each frame sent to the renderer carries the format info. * Reset renderer with the new format instead of re-creating SoftwareRenderer when incoming frame's format is changed. Bug: 13842676 Change-Id: Ibab46f109200bcbdeab13a4cc1bcd0870f2a99fb
* Added Tunneled video playback support to ACodecRachad2014-08-082-0/+8
| | | | | Bug:16132368 Change-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38
* stagefright: move ARRAY_SIZE to foundationLajos Molnar2014-08-061-2/+0
| | | | | Bug: 11990470 Change-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa
* some fixes for crash when extractor creation failsChong Zhang2014-08-061-2/+1
| | | | | | | | | | - prefetch data for sniffing - notify error instead of crashing if extractor is NULL Bug: 16818302 Change-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17
* stagefright: Fix seeking in MPEG4 containerLajos Molnar2014-07-171-1/+9
| | | | | | | | - seek based on user-visible timestamp - seek to previous, next and closest exactly Bug: 12786906 Change-Id: I2d5e1fbff6469b6f081a284be2222a4cb50aa754
* Parse trex and mehd boxesMarco Nelissen2014-06-231-1/+10
| | | | | | | | | | | | Also get duration from mvhd if available, use that in addition to track durations to determine total length of file, clear track header struct so we don't read uninitialized garbage from it, and take composition time offset into account for proper ordering when B frames are used. b/15669839 Change-Id: Ibf3e35b5c7299bac11d0e78a391545fc325dd2d0
* Update OMX messages for 64 bitAndy Hung2014-05-142-2/+15
| | | | | | | | | Change node_id and buffer_id to uint32_t. Ensure IOMX messages are fixed size. Remove 64 bit compile warnings in associated files. Change-Id: Icdbef00aca575e5dc502ebb52e3ce7d0d7883203 Signed-off-by: Andy Hung <hunga@google.com>
* Merge "Expose sample duration in MPEG4Extractor."Robert Shih2014-05-092-2/+5
|\
| * Expose sample duration in MPEG4Extractor.Robert Shih2014-04-252-2/+5
| | | | | | | | | | Bug: 12782113 Change-Id: I75ee361243c5382d9288349c554deb7bed952782
* | stagefright: set PTS for SoftwareRendererLajos Molnar2014-05-071-1/+1
| | | | | | | | Change-Id: I08661a9eae09f919149aa5a58aa514d848de50a1
* | am 113f2122: am 5fa3f7af: am b52675e9: Merge "Smooth out AwesomePlayer"Lajos Molnar2014-05-021-0/+3
|\ \ | |/ |/| | | | | * commit '113f2122662856f2482836f1b4c585a050888afa': Smooth out AwesomePlayer
| * Smooth out AwesomePlayerLajos Molnar2014-05-011-0/+3
| | | | | | | | | | | | Use clock estimator to smooth out audio time stamps. Change-Id: Iec1ff30c011069d06ff8051fc4839d00895463d6
| * warnings be gone.Andreas Huber2014-04-111-1/+1
| | | | | | | | | | | | | | | | (cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36) Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts or errors downstream to a minimum. Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
| * Merge "ChromiumHTTPDataSource: Keep track of the redirected URL"Lajos Molnar2014-02-101-0/+1
| |\
| | * ChromiumHTTPDataSource: Keep track of the redirected URLMartin Storsjo2013-11-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This makes the code actually match an existing comment in DrmInitialization, which claimed that mURI was the redirected URL and not the original one. Change-Id: I0a5cc65f520f1482ff91320ae78af84a8a681ee3
* | | Remove unused FragmentedMP4Parser and friends. The functionality has beenAndreas Huber2014-02-131-274/+0
| | | | | | | | | | | | | | | | | | subsumed into MP4Extractor. Change-Id: Ic1b6445660adfb985c604f1ca6f0c86585f8de04
* | | warnings be gone.Andreas Huber2014-02-111-1/+1
| | | | | | | | | | | | Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
* | | Remove no longer needed http proxy handling code, it's obsolete nowAndreas Huber2014-02-054-172/+1
| | | | | | | | | | | | | | | | | | | | | | | | since we started to use java's HTTPConnection instead of the native implementation. Also remove other remnants of the previous http implementation, such as accounting for the http user's uid. Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
* | | FINAL ATTEMPT: HTTP services are now provided from JAVA and made available ↵Andreas Huber2014-02-044-3/+11
|/ / | | | | | | | | | | to media code Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
* | Added support for ID3v2 meta data in 3gp filesOscar Rydhé2014-01-162-2/+3
| | | | | | | | | | | | | | | | Added support for parsing ID3v2 meta data from the ID32 chunk in 3gp files. The priority will be 3gpp -> ID3v2 -> iTunes per field. Change-Id: I0282ecab58e3e5fa6bd738078d562c8bb8ce00ed
* | libstagefright: Delay release of wakelock in TimedEventQueueHaynes Mathew George2013-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | Delay release of wakelock in the TimedEventQueue to after an event has been processed. This ensures AP shutdown does not happen while an event is ready but hasn't been processed yet. Bug: 11976087. Change-Id: I71a5f3ac4a57e1d05dd5d9ab5c6f91ed7bb64c87
* | am a7291156: Merge "TimedEventQueue: improve wakelock management" into klp-devEric Laurent2013-11-101-1/+3
|\ \ | |/ |/| | | | | * commit 'a72911563b0e5b21b196d40249b53975bf8d8f85': TimedEventQueue: improve wakelock management
| * TimedEventQueue: improve wakelock managementEric Laurent2013-11-071-1/+3
| | | | | | | | | | | | | | | | | | Do not acquire a wakelock unless the event is delayed by more than a given time. This prevents from acquiring/releasing wakelocks too often which has adverse effects on performance. Bug: 11509471. Change-Id: Id06803b393b40c4db5095a6e7ec02339fa581a38
* | am da0926af: Merge "TimedEventQueue takes a wake lock" into klp-devEric Laurent2013-10-041-0/+25
|\ \ | |/ | | | | | | * commit 'da0926afdb12794497c93d68eee296f2d92bfa7e': TimedEventQueue takes a wake lock
| * TimedEventQueue takes a wake lockEric Laurent2013-10-041-0/+25
| | | | | | | | | | | | | | | | | | Take a wake lock when events present in a TimedEventQueue to prevent from going idle before all delayed events are processed. Bug: 11057387. Change-Id: I26a17df68068fde5e879a2fe7568dec439fc540f
* | am 56ce7260: IOMX: Add prepareForAdaptivePlayback methodLajos Molnar2013-10-032-0/+8
|\ \ | |/ | | | | | | * commit '56ce726019f700a95ce5b45beebceadae4836e30': IOMX: Add prepareForAdaptivePlayback method
| * IOMX: Add prepareForAdaptivePlayback methodLajos Molnar2013-10-032-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | prepareForAdaptivePlayback is the fallback mechanism to support seamless resolution change for devices that do not support dynamic output buffers. It is up to the codecs to handle this appropriately, but codecs that do not handle dynamic output buffers would request enough buffers up to the requested size in this method to avoid port reconfiguration on resolution changes. Change-Id: I58d4aa8ef1359ea3472735bbe9140c3132039b3d Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 10192531 Related-to-bug: 7093648
* | am 3d97e23f: Merge "Prevent onPrepared callback from being called twice" ↵Marco Nelissen2013-09-301-0/+2
|\ \ | |/ | | | | | | | | | | into klp-dev * commit '3d97e23fcd78f752443cb6c30a1ee39f49f1f987': Prevent onPrepared callback from being called twice
| * Prevent onPrepared callback from being called twiceMarco Nelissen2013-09-271-0/+2
| | | | | | | | | | | | b/10891995 Change-Id: If6845c832d114629282f0b03f904a37c3325208e
* | am ff58698e: am f36ae7ca: Merge "Added support for 3GPP meta data atoms"Marco Nelissen2013-08-191-1/+2
|\ \ | |/ |/| | | | | * commit 'ff58698ec7e0f32bf9f3e1758173fe170e17270c': Added support for 3GPP meta data atoms
| * Added support for 3GPP meta data atomsOscar Rydhé2013-08-131-1/+2
| | | | | | | | | | | | | | 3GPP metadata is not supported, only iTunes Metadata Format is supported. Change-Id: I78b41c88788d5a43800c936e0ac0f98424515c62
* | Add MEDIA_STARTED/PAUSED/STOPPED events to media playersLajos Molnar2013-08-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is needed for the MediaTimeProvider java interface, so it does not continually poll for current media time. Note: NuPlayer and AwesomePlayer do not correctly handle stop (pause instead), so for those we will signal PAUSED. Signed-off-by: Lajos Molnar <lajos@google.com> Change-Id: I3c61e1bda475f131323f475c18a42e3ec66c9ae1 Bug: 10326117
* | IOMX: add updateGraphicBufferInMeta method for metadata modeLajos Molnar2013-08-062-0/+8
| | | | | | | | | | | | | | | | | | This is used to set the handle in the metadata buffer that is valid in the mediaserver process, as well as to keep a reference for the graphic buffers in BufferMeta. Change-Id: I46bb68d8bed894f357eeeb25368360d11b276634 Signed-off-by: Lajos Molnar <lajos@google.com>
* | stagefright: offload playback supportRichard Fitzgerald2013-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offloading of compressed audio decoding to audio DSP is implemented for audio only, non streamed content. when the datasource is AudioPlayer: - Create an offloaded sink when playing a compressed source - Send metadata to audio HAL - Return sink start error to AwesomePlayer so that a new player for PCM audio can be created in case of problem. - Forward stream end and tear down callback events to AwesomePlayer - Stop the sink and wait for stream end callback when EOS is reached. - Pause and restart the sink if needed before flushing when seeking (otherwise flush is a no op). - For current media time, directly query the render position from the sink and offset by the start position (seek to time) AwesomePlayer: - When initializing the audio decoder, check with audio policy manager if offloading is supported. If yes, create the software decoder in case a reconfiguration is needed but connect the audio track directly to the AudioPlayer. - In case of error when starting the AudioPlayer, reconnect the software decoder (OMXSource) and recreate a PCM AudioPlayer. - Handle AudioPlayer tear down event by detroying and recreating the AudioPlayer to allow transitions between situations were offloading is supported or not. - Force tear down of offloaded AudioPlayer when paused for a certain time: This will close the sink and allow the DSP to power down. Utils: - Added helper methods: - send meta data to audio ia sink setParameters - query audio policy manager if offloading is supported for a given audio content Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae Signed-off-by: Eric Laurent <elaurent@google.com>
* | Merge "Add routing sockets for the requesting user"Geremy Condra2013-07-231-0/+3
|\ \
| * | Add routing sockets for the requesting userChad Brubaker2013-07-191-0/+3
| | | | | | | | | | | | | | | | | | | | | Mediaserver sockets are now routed as if the connection was in the requesting app in per user routing. Change-Id: I60f4649c3c4145a65264b54c1aa2c6c7741efaba
* | | Support "suspension" of a video encoder in "surface-input" mode.Andreas Huber2013-07-172-0/+13
|/ / | | | | | | | | | | i.e. feed no more input frames to the encoder while suspended. Change-Id: I51391e18c1517548e869f8ddece19f4af37e78f9