summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* libeffects: validate channel mask in downmixer configureDhananjay Kumar2015-10-061-3/+6
| | | | | | | | | | Validate channel mask in downmixer configure, this returns early warning to calling module which can fallback to another downmixing module or return error instead of playing improper data. CRs-Fixed: 862105 Change-Id: Ic19c4913608468d5c5197f65bb5d6a640c9d2d74
* AVCustomizations: include audio header files explicitlyDeva Ramasubramanian2015-10-061-0/+2
| | | | | | | Fixes compilation errors due to audio_format_t and AudioTrack not being found. Change-Id: Ib30f94c2b4540a3dbfd2388f43f5d229be047ec7
* stagefright: Fix to play a specific Mp4 clip due to SYNCH_LOST_ERROR.Mingming Yin2015-10-061-5/+8
| | | | | | | | - Unable to play a Specific Mp4 clip. - Mp3 playback is stopped if the Decoder errors out with SYNCH_LOST_ERROR. - Ignore the frame with SYNCH_LOST_ERROR and play silence instead. Change-Id: I6b94a83cf89e8bc6792d8ee3804042d629aa505b
* Stagefright: Extensions for HTTP progressive streaming.Apurupa Pattapu2015-10-0610-19/+53
| | | | | | | | | - 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
* audio: add support for APE decoding.Sharad Sangle2015-10-063-0/+10
| | | | | | add support for APE decoding Change-Id: I55e8f4b3b87f4bdf1c99774d702506eb7c2f05b5
* audio: add support for ALAC decoding.Sharad Sangle2015-10-061-0/+3
| | | | | | | add support for decoding/offloading ALAC audio formats Change-Id: Id66f0cb6c140113741962e119148bf434de3d064
* AVCustomizations: Enable 16 and 24 bit PCM offload.Preetam Singh Ranawat2015-10-0617-23/+213
| | | | | | | | | | | | -create extended decoder and renderer -add change to pass bit width and format info to renderer. -add change for PCM conversions -add changes for time calucation Conflicts: media/libmediaplayerservice/nuplayer/NuPlayer.cpp Change-Id: I3363140fad441a7746884076c40b46e777f2e06e
* libeffect: Fix enabled effect count calculation errorwjiang2015-10-062-22/+32
| | | | | | | | | | | | | | | | | When switching from tunnel to arm effects, effect chain will be moved from offload thread to mixer thread. During this procedure effect instance is not destroyed, instead it's preserved and mounted onto new chain. The migrant sequence is 1) disable instance -> 2) move to new effect chain -> 3) enable instance again. However, the accumulated effect enabled count is not decreased when effect instance is disabled. As a result, LvmBundle_process() is only called once when Effect_process() called twice, which causes input buffer get processed alternately and glitch sound appears. Change-Id: Idd3b8753a73694cc36617ed55b40fda93155abed CRs-Fixed: 636353
* libstagefright - Fix seek on audio having empty stss blockRamjee Singh2015-10-061-20/+20
| | | | | | | | | | | | Ignore stss block for audio even if its present, all audio sample are sync samples itself, self decodeable and playable. Parsing this block for audio restricts audio seek to few entries available in this block, sometimes 0, which is undesired. CRs-Fixed: 664870 Change-Id: I7f8e140aa27e8107a438f6bf4c21a3148c80680f
* MPEG4Writer: Fix MediaServer crash in MM Stress test.Paras Nagda2015-10-061-0/+5
| | | | | | | | | | | | | - Media Server crash is happening while accessing codecspecific data at the end of recording since stopRecording is issued from script even before codec spefic data is returned from encoder. - Size check is added to prevent accessing codecspecific data in this case. CRs-Fixed: 732893 Change-Id: I77ce3c02c76c4d3cc4345d761ad505090ef29530
* Stagefright: Allow setting high-framerates in CameraSourcePraveen Chavan2015-10-061-0/+12
| | | | | | | | | | | | | CameraSource (legacy Camera) treats framerate set via MediaRecorder.setVideoFrameRate as _both_ camera-preview-fps and video-encoder-fps. Trying to set high fps for encoder will inadvertently fail trying to set the same value for camera-preview. Read the custom camera parameter to detect if this is a high-speed request, selectively set the fps only for video, and default to 30fps for preview fps. Change-Id: If66211dd81b2a08d4df4c6f23e87304e9e7013f4
* Stagefright: Do not skip frames in time-lapse-source for high-speedPraveen Chavan2015-10-061-1/+2
| | | | | | | | Avoid the frame-skip logic in time-lapse source if capture-rate exceeds video-fps. Not doing so will drop frames and also cause retrograde timestamps and an assertion in CameraSource. Change-Id: I8420e44ab96484f0d6301c366a24eefc8efeaf0f
* stagefright: Remove assert for corrupt clips for AMRNBMingming Yin2015-10-061-1/+8
| | | | | | | | | | | Corrupt AMR NB clips were crashing media player This was due to the assert in the AMRNB decoder. To avoid this, post error and exit if corrupt clip is played. CRs-Fixed: 486681 Change-Id: I4c27a95978015e5493799ca23a3598559ad8bd9d
* StagefrightRecorder: force 64-bit file-offsets for files > 4GBPraveen Chavan2015-10-061-0/+6
| | | | | | | | Enable recording files larger than 4GB by forcing 64-bit file-offsets in the writer, if application indicates max-file-size greater than 4GB. Change-Id: Id1af5bdf3543af156e6d3d80be2e00c7df3b4134 CRs-Fixed: 807377
* libstagefright: Allow multi-byte CSD sizes for non-m4v clipsLeena Winterrowd2015-10-061-2/+3
| | | | | | | | | | As per ISO/IEC 14496-15, there is no explicit limit on the size of codec-specific-data for AVC clips. Only mpeg4 video requires that CSD size must fit within a single byte. Make the assertion enforcing this condition specific to m4v content. CRs-Fixed: 724526 Change-Id: Id006030ac65d5ec0bf285c040e4c536039f9489b
* RTSP: add RTSP extensions for IPV6 supportLi Sun2015-10-0610-14/+93
| | | | | | | | | | | Change access modifiers and add overridables in rtsp stack. Make ARTSPConnection/ARTPConnection extensible for IPV6 support. Provide default implementations in AVMediaServiceExensions and AVMediaServiceFactory. Change-Id: Iaa67070d1832d56e0569dabfd8327c1998f04493
* ToneGenerator: Limit tones to 48kHaynes Mathew George2015-10-061-1/+7
| | | | | | | | | DTMF tones are played at the hardware module sampling rate. Until now, this rate was limited to 48k. Tones sound not too pleasant at higher rates (like 96k and 192k). Ergo, limit the rate to 48k. Change-Id: I7fbc3185d988628ce3ee478076a322857221dece
* stagefright: handle zero size field in ID3v2 headerYamit Mehta2015-10-061-2/+3
| | | | | | | | Specific clip contains corrupt ID3v2 header where size field is zero. This corner case isn't handled properly and leads to crash. Change-Id: Ic7e97b9de84b0cb3ce3716db95ab05f8f0db336f CRs-Fixed: 815025
* libmediaplayerservice:Fix deadlock on gapless start failureYamit Mehta2015-10-061-2/+11
| | | | | | | | | | | | | | | Issue:- Current gapless implementation starts the next clip when MEDIA_PLAYBACK_COMPLETE event for the first clip is recieved by MediaPlayerService. -Even if start for next clip fails, application is notified with MEDIA_INFO_STARTED_AS_NEXT. - This causes the framework to trigger mediaplayer start which again fails as it being for the same clip resulting in a deadlock in the mediaplayer. Fix:- Notify application with MEDIA_INFO_STARTED_AS_NEXT only when start for the next clip is successful. Change-Id: I77c570074c7c98c996122e275161ba88298e56fc
* audioTrack: Handle track invalidate on wait for stream doneYamit Mehta2015-10-061-30/+30
| | | | | | | | | If a track invalidate is called while waiting for a stream done, AudioCallback handler is notified with event EVENT_STREAM_END. This might cause substantial data loss for offload playback. Try to recreate the track if needed. Change-Id: Ie663c85e92588ddfd8d633f4bf5024f9fa4f5c2e
* libstagefright - Fix seek on audio having empty stss blockYamit Mehta2015-10-061-6/+14
| | | | | | | | | | | Ignore stss block for audio even if its present, all audio sample are sync samples itself, self decodeable and playable. Parsing this block for audio restricts audio seek to few entries available in this block, sometimes 0, which is undesired. CRs-Fixed: 664870 Change-Id: If3208d5c0557d3eaeddf875d6c6762bd870c439b
* audio: add support for offload FLACSharad Sangle2015-10-063-1/+16
| | | | | | | Add support for FLAC playback in compressed offload mode Change-Id: I617b41b867277272212d6cf1a6f82f646c5b1032
* Initialize the start time if not specified in meta dataYamit Mehta2015-10-061-0/+2
| | | | | | | | | | | | | | If the start time is not specified in meta data, the start time will be assigned with latency of AudioRecord, it's calculated by allocated frame count which is not the real start time when the first frame received Initialize the start time to the current system time if not specified in meta data CRs-Fixed: 812379 Change-Id: Ia007ca4592fe1f96e105d4ec48305c578b677bb1
* audio: add WMA formats in MediaDefsSharad Sangle2015-10-061-0/+2
| | | | | | added WMA mime/format in mediaDefs. Change-Id: Ifefe04647071eee04ab1e746436fec056ece689f
* audio: add support for AMRWB+Sharad Sangle2015-10-063-2/+14
| | | | | | | | | add support for AMRWB+ audio decoding Conflicts: media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp Change-Id: I6eedebe93c482150234b4ca1d0472b189c450dc6
* stagefright: Disable AwesomePlayerMingming Yin2015-10-066-380/+1
| | | | | | | | | | | | Permanently remove StagefrightPlayer codebase & remove its entry from MediaPlayerFactory as AwesomePlayer is completely replaced by NuPlayer. Keep the AwesomePlayer codebase to make libstagefright_timedtext available to NuPlayer via libstagefright. Conflicts: media/libmediaplayerservice/MediaPlayerFactory.cpp Change-Id: Idfecdc519919ee940817c7bb515433fc37588bd3
* Stagefright: Make classes customizable and add AV extensionsPraveen Chavan2015-10-0629-14/+1042
| | | | | | | | | | | Change access modifiers and qualify methods with virtual, to allow extensions. Add facility for loading customizations (Extended classes) dynamically. Conflicts: media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp Change-Id: Icc8965754fb1c73175a13a9ad24c19665ad60988
* mediaplayerservice: fix 64-bit compliation errorsPraveen Chavan2015-10-066-32/+36
| | | | | | | | | | Use correct format specifiers to fix 64-bit compilation. Conflicts: media/libmediaplayerservice/StagefrightRecorder.cpp media/libstagefright/VideoFrameScheduler.cpp Change-Id: Ic2238db525a23710716558015ca152871b4c549f
* audio: add support for FLAC decodingSharad Sangle2015-10-063-2/+12
| | | | | | added support for FLAC decoding Change-Id: Ia35b0b9218fdf2584348a2a95bf0401c5065dedc
* NuPlayerRenderer: Update position of AV stream even after audio EOSPraveen Chavan2015-10-062-1/+7
| | | | | | | | | | | | For AV streams with shorter audio, anchorTime does not update beyond audio EOS causing MediaPlayer.getCurrentPosition to return the same fixed value (progress bar does not update). Allow updating the current position in renderer beyond the anchorTime to update the player's position if audio stream is present. CRs-Fixed: 808073 Change-Id: I75625d24a6c155ff12f27fd0848503657e9219aa
* nuplayer: Fix incorrect audio resume time during seekXavier Varricatt2015-10-061-1/+2
| | | | | | | | | | | | 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
* libstagefright: Use proper ctts offsetSurajit Podder2015-10-061-2/+2
| | | | | | | | | | Calculate ctts offset as difference between composition time and decoding time, and avoid adding kMaxCttsOffsetTimeUs as it increases the sample timestamp by the same amount which leads to av sync loss for B-frames. CRs-Fixed: 524739 Change-Id: I75a1bb594536623e3a445af2ee1ceb0cf0926a6e
* libstagefright/omx: Fix CallbackDispatcher dereference in callback.Shivaprasad Hongal2015-10-061-2/+16
| | | | | | findDispatcher can return NULL. Check for NULL. Change-Id: I07edc427b706dfdeec6a6f90f13d00c8941e77f2
* libstagefright: Use 3gp4 ftyp box when AMR audio is presentLeena Winterrowd2015-10-061-3/+7
| | | | | | | | | | | mp42 boxes do not support the 'damr' box type whereas 3gp4 boxes explicitly support it. Using mp42 makes clips with AMR incompliant with mpeg4 standards and unplayable by many media players. To ensure interoperability, use a 3gp4 box if the recorded clip contains AMR audio. CRs-Fixed: 721883 Change-Id: I75e3558cd5088d05d36104abfb04a3c0c1d1a4e7
* stagefright: Handle missing text track languageLeena Winterrowd2015-10-061-3/+6
| | | | | | | | Only set timed text language if kKeyMediaLanguage is found. Crs-Fixed: 641896 Change-Id: Ie471bc458e42f5728064e447ac5c33b07311d3fd
* libstagefright/omx: Fix logic to handle dead observers.Shivaprasad Hongal2015-10-061-0/+1
| | | | | | | | OMXNodeInstance freeNode tries to tear down OMX component if not in OMX_StateLoaded. It handles all other states except OMX_StatePause. This change adds OMX_StatePause handling. Change-Id: I3bae2015c57b932186069756490c9bdf1f93eea4
* libstagefright: Explicitly disconnect HTTP connectionSurajit Podder2015-10-061-0/+7
| | | | | | | | | | | The HTTP connection created by StagefrightMetadataRetriever is not closed explicitly, and tcp activity continues even after metadata retriever is destroyed Explicitly disconnect HTTP connection in StagefrightMetadataRetriever Change-Id: I261d369e8dcff1bc0a3c7225243e865858b4fc7c CRs-Fixed: 754684
* CamcorderProfiles: add VGA and 4K-DCI profilesPraveen Chavan2015-10-061-2/+13
| | | | | | Also add high-speed profile for CIF. Change-Id: Iacd8537f62112171ee611a7534f9d432f45d5d3f
* libstagefright: Fix MPEG4Writer crash when internal memory is almost full.Paras Nagda2015-10-061-1/+5
| | | | | | | | | | | | | | - Camcoder recording crashes when internal memory is almost full. - crash happens if there is no space to write even first video frame. as soon as first video frame comes file limit exceeded information is given back to recorder and timestamp of video is not updated. since video timestamp is not proper crash is seen when comparing it with audio timestamp. - check is added while doing comparision of timestamps and reporting error in track stop() so recorded file is not saved to memory. Change-Id: I69e8bad62ab03ce01de5cbdb13f8ea841b787fcb
* Stagefright: avc_utils: handle invalid sample aspect ratioPraveen Chavan2015-10-061-1/+1
| | | | | | | | | Set sample aspect ratio width & height only if both sar_width and sar_height are valid ( >1 ). sar-height being 0 can cause divide by zero exception in NuPlayer. Change-Id: Idfc4cae57651f3b5fd755057a880503f359aa004 CRs-Fixed: 735506
* NuPlayer: DEBUG: Notify RENDERING_STARTED event after resumePraveen Chavan2015-10-061-0/+1
| | | | | | | notify MEDIA_INFO_RENDERING_START after resuming from pause, to enable java app to profile resume-latency. Change-Id: I06bd6307511b7dde8f6fe1a2d15009d3a543a318
* libstagefright: Add check for bits avail to readYamit Mehta2015-10-061-1/+1
| | | | | | | | - If number of bits available to read from ABitReader is zero,do not call getBits. Change-Id: I4b7332b03ed6ee1d7b6711e5b4c5dce396151b03 CRs-Fixed: 777657
* stagefright: MPEG4Extractor: allow 'hdlr' box before first trackLajos Molnar2015-09-021-4/+3
| | | | | Bug: 21725583 Change-Id: I799c1967759c7e49fb50281a1708188450caac77
* IMediaPlayer.cpp: make sure structures are initialized to 0Nick Kralevich2015-09-021-0/+2
| | | | | | | | Credit https://code.google.com/p/android/issues/detail?id=183310 Bug: 23515142 Change-Id: Idbd66fb148bd0ac1dd78f8651d0164f2a41e2427 (cherry picked from commit b73b826cc16291b33649402497efbe0f946413bd)
* libmedia: clear reply data for IEffect commandAndy Hung2015-09-021-2/+2
| | | | | Bug: 23540907 Change-Id: Ib89afc6b273b0eb310bbc5a1bd92b1e3d407c249
* NuPlayer: do not create audio decoder if the player is still in shutdown ↵Wei Jia2015-08-281-1/+3
| | | | | | | process. Bug: 23350795 Change-Id: I46b02cf31d7d4447806910a9ecd8c3bda05f2f5b
* am fa11fd5b: resolved conflicts for merge of 327afffb to lmp-mr1-ub-devRobert Shih2015-08-241-1/+16
|\ | | | | | | | | * commit 'fa11fd5bb2e9c5e00f7fecbbe76c279193182cee': Prevent integer issues in ID3::Iterator::findFrame
| * resolved conflicts for merge of 327afffb to lmp-mr1-ub-devRobert Shih2015-08-241-1/+16
| |\ | | | | | | | | | Change-Id: I6c1369f05bbeb83e2152b8dae35f7a53328f7239
| | * am 4c6556d1: am 8cf3564d: am eecc406f: am 3b42241a: Merge "Prevent integer ↵Robert Shih2015-08-221-2/+21
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | issues in ID3::Iterator::findFrame" into klp-dev * commit '4c6556d17f4073ed0b4d11abf42df9c32c339291': Prevent integer issues in ID3::Iterator::findFrame
| | | * am 8cf3564d: am eecc406f: am 3b42241a: Merge "Prevent integer issues in ↵Robert Shih2015-08-221-2/+21
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ID3::Iterator::findFrame" into klp-dev * commit '8cf3564d2dd522f7a707a8fd109d415dab3def47': Prevent integer issues in ID3::Iterator::findFrame