summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/StagefrightRecorder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* video: Use boot clock for recording start timeSurajit Podder2016-04-131-0/+2
| | | | | | | | | | | | | Camera HAL3 uses boot time for buffer timestamp, rather than system monotonic time. This leads to issues as framework uses system monotonic time as reference start time for timestamp adjustment. Add change to use boot time for reference start time. CRs-Fixed: 946735 Change-Id: Id0af9c8aed1a983095275ac03f7f59abc31594cc
* libstagefright: Allow for MPEG4Writer extensionDeva Ramasubramanian2016-04-131-1/+1
| | | | | | Defer MPEG4 muxer creation to AVFactory. Change-Id: If0918be77ab7f8d82c78203f371df789e3cc29b8
* stagefright: Support audio in slow motionKeith Mok2016-03-071-0/+24
| | | | | | | | | | | We need to query AVUtil for slow motion recording to support audio in slow motion recording instead of using mCaptureFps and mCaptureFpsEnable, since qcom camera1 HAL don't call setCaptureRate for slow motion recording. CYNGNOS-2196 Change-Id: I7b75ab44499ed13cb1e4e6f527103ec0f09ffcc8
* audio: omx encoder isn't expected for raw recordingWeiyin Jiang2016-02-251-8/+20
| | | | | | | | | | | | | | | Raw recording doesn't require any encoder, so no OMX encoder will be created and audio source will be directly used as media source. UNKNOWN_ERROR error will be threwn if call AudioSource::start() continuously, so we should avoid omx encoder operations if it's not created for raw recording. CYNGNOS-1679 Change-Id: Ib38c4e42b7667e9bf882cddb15422d0dd598b60e CRs-Fixed: 752419 (cherry picked from commit 587267232a2829936510bbe46591863403782d1a)
* stagefright: Fix crash on mediaserverKeith Mok2016-01-061-1/+3
| | | | | | | CameraSource can be null when we do setupCustomVideoEncoderParams, add a null pointer checking for it. Change-Id: Ie28018e67d623b03bb7c3c7dbc8a92669158b84b
* stagefright: Forward-port HFR and HSR supportSteve Kondik2016-01-051-2/+11
| | | | | | * CAF commit bd42a7ac3a60c0d8a079b4567484c9b006bac8ad upstream Change-Id: I457ccab603647f3139ea2199a544f64ac3d1a214
* stagefright: Check vendor list for allowed encodersSteve Kondik2015-12-131-1/+2
| | | | Change-Id: Ie9ff0d275fc5f853c18fe4d5e590443d0c316e99
* stagefright: Finish support for HEVC muxingSteve Kondik2015-12-131-5/+12
| | | | | | * Forward-port CAF L-MR1 code to fill in stubs. Change-Id: I6c07e803ad4fe3ef5286f61667b5ca11380db984
* StagefrightRecorder: Add support for WAVE recordingMichael Bestas2015-12-121-0/+19
| | | | | | * Forward port the cm-12.1 code Change-Id: I77373a236108507b8fa76cc8d3016de36aade301
* stagefright: Squashed commit of pause/resume featuresSteve Kondik2015-11-071-2/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 2 APIs (suspend/resume) in MediaPlayer - API:suspend() will just pause the player and release all the decoders to replace release() which will release the whole player - API:resume() will just init the decoders again, then start() will be called to restart streaming playback - Add a check in AwesomePlayer::onVideoEvent() to make sure the first seek operation will always seek to the next i-frame Change-Id: Ie4c82906a2a056378119921a656128ebdc1007c4 audio: Add pause support for hardware omx component - ADSP doesn't enter sleep state after wma playback is paused and power suspended. - No support for NT session pause in case of hardware component. NT session need to be paused to put ADSP into power collapse. - Add support of pause in stagefright to ensure device enters suspend mode. Also add intermediate states to avoid concurrency issues between read and pause. Change-Id: I41b946b8c8805e6ee303646b63513b5b16514ef6 libstagefright: Drain input buffer on resume - Buffers returned from codec in paused state are not drained. When codec is resumed these buffers are not drained until the next flush, and may cause timed out issue. - Added change to drain input buffers for sw decoders when resuming. Change-Id: Ida2ab1d5dc3a1910accdd6fb89548262a912d8e7 CRs-Fixed: 569585, 574967 libstagefright: camcorder pause-resume implementation - Add pause resume feature in camcorder app. So that user can pause recording and resume later which results in a single recorded clip. Change-Id: Id19c45ae5bb85265aa4d5304b160ebf119d9575a libstagefright: support pause/resume for timelapse recording Modify the timestamp calculation mechanism in CameraSourceTimeLapse in order to support pause/resume. Change-Id: Icb02ea798b0b807ffb7ada2d1ef5b2414b74edfb
* libstagefright : fix the bug of wrong value setting for slice-heightxrwu2015-11-051-1/+1
| | | | | Change-Id: I2ad0fa6039fb3b31e7dbfdcf15be4703664da04d Signed-off-by: xrwu <xellos.1983@gmail.com>
* libstagefright: Allow for CameraSourceTimeLapse to be extendedDeva Ramasubramanian2015-10-091-2/+2
| | | | | | | Add in hooks to route CameraSourceTimeLapse creation to AVFactory so that we can add our customizations. Change-Id: I309a247ba6e3c5626cfba096677a6dbfeae543f3
* video: Modify classes to support camcorder pause/resumeSurajit Podder2015-10-061-8/+7
| | | | | | | | | * Modify MediaRecorder, CameraSource, AudioSource to be extendable. * Add hooks to instantiate extended implementations to implement pause/resume. Change-Id: I847263fc69e4f613c5ea60fb6809c7da176d3a8d
* video: Port AOSP fixesSurajit Podder2015-10-061-0/+2
| | | | | | | | | | | | Includes following fixes: f510d0c libstagefright: Disable multi slice mode for video encode ca46843 audio: Fix for failure in CTS MediaRecorderTest cases b4d0490 libstagefright: check the audio source when adding to MPEG4Writer 89c6c3f libstagefright: Allocate cached camera buffers for sw encoders f2c387b libstagefright: Choose target specific media_codecs.xml f3e7122 libstagefright: Implement fallback mechanism to SW decoder Change-Id: I90398b2fead1f4e163935bf1db342e24275f7933
* audio: add support for extended audio encodingMingming Yin2015-10-061-8/+16
| | | | | | - add support for EVRC, QCELP, and LPCM encoding. Change-Id: I2f93a88ed5c9bd502399ef145a5802d1a15fcc45
* libstagefright: MPEG4Writer: Add support for HEVC muxingLubin Yin2015-10-061-0/+8
| | | | | | | | | | | | Changes done to enable HEVC muxing - writing HVCC atom - configure HEVC encoder Fix HEVC flag initialization Check for HEVC for single track usecase Change-Id: I1757d0c442e7cc3ef251431f220395131a1eb4ec
* avextensions: Add support for Codec Extension featuresShalaj Jain2015-10-061-0/+2
| | | | | | | | | | Add support for Codec extension features like skype, vqzip, b-frame encoding, prefer adaptive playback etc. Add extensions to support encode batching. Also enable Werror for libavextensions. Change-Id: Ia342d4abe4bb1e21b9ff2b8213fb96421485a333
* MediaRecorder: Handle 24-hour timelapse durationParas Nagda2015-10-061-1/+1
| | | | | | | | | | Use float operations to derive the max-time-between- frames from capture-rate. With default (double) precision, calculated value exceeds 86,400 seconds (1 day) limit if app configures captureRate = 1 / 24 hours. Change-Id: Ia171cfa6a45ad315beb55340651abb8066566b26
* audio: add encoding support for linear PCM formatMingming Yin2015-10-061-0/+7
| | | | | | - add encoding support for linear PCM format. Change-Id: Iecf402064d67d35d5057b814c842d79af92756d0
* audio: add support for 5.1 channel recordingMingming Yin2015-10-061-1/+1
| | | | | | - Add support for 5.1 channel recording Change-Id: If060fffb2e198f516f40e85390489de2108be5d1
* 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
* mediaplayerservice: fix 64-bit compliation errorsPraveen Chavan2015-10-061-14/+15
| | | | | | | | | | Use correct format specifiers to fix 64-bit compilation. Conflicts: media/libmediaplayerservice/StagefrightRecorder.cpp media/libstagefright/VideoFrameScheduler.cpp Change-Id: Ic2238db525a23710716558015ca152871b4c549f
* MediaRecorder: enable audio for slow motion recordingChong Zhang2015-07-171-35/+55
| | | | | | bug:22460747 Change-Id: I23f773ecf7b86928a8eacd25a481636e645affbe
* Camera1 API: Support SW encoders for new camera HALsEino-Ville Talvala2015-06-081-11/+4
| | | | | | | | | | | | - Support new set video format/dataspace command in camera service - HALv3: Select gralloc usage flags based on format - HALv1: Pass format command directly to HAL layer - Use format/dataspace command in CameraSource - Switch all API1 recording to use metadata mode - Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer Bug: 13222807 Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
* stagefright: rename usePersistentInputSurface to setInputSurfaceChong Zhang2015-05-131-1/+2
| | | | | | | | and clear persistent surface pointer when MediaRecorder is reset bug: 21045118 bug: 21045402 Change-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a
* MediaRecorder: implement persistent input surface APIsChong Zhang2015-05-011-2/+9
| | | | | | | Bug: 19127604 Bug: 19489395 Change-Id: I7dd8015a8fe029f9867fcdb52322629c77eff50b
* Respect the record audio app op - mediaSvet Ganov2015-04-291-2/+4
| | | | Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
* Merge "libmediaplayerservice: set priority and operating rate for the codec ↵Ronghua Wu2015-04-221-0/+6
|\ | | | | | | used by recorder."
| * libmediaplayerservice: set priority and operating rate for the codec used by ↵Ronghua Wu2015-04-221-0/+6
| | | | | | | | | | | | | | recorder. Bug: 20481562 Change-Id: Ibff54395e00809500d98e3759f9677f8168c98ae
* | libmediaplayerservice: fix warnings, make warnings errors, use clangLajos Molnar2015-04-171-1/+0
|/ | | | Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
* MediaRecorder: pass capture fps in floatChong Zhang2015-02-231-9/+36
| | | | | | bug: 19460202 Change-Id: Ic8f2dc02dfd482c4b2065b16e28721fc6e3cf696
* MPEG4Writer: add capture fps in meta dataChong Zhang2015-02-231-5/+9
| | | | | | bug: 19460202 Change-Id: I3a6ea3a5149d124ca9a2487a300dcc2db4405d0f
* StageFrightRecorder: update setVideoFrameRate sanity checkZhijun He2015-02-091-1/+1
| | | | | | Allow high speed recording fps to be up to 1000fps Change-Id: I975d11b8a9abbd50ce6982fb46f4a4a3a035e475
* am a2bc118c: am 2a0f484e: am a04c05ab: Merge "Truncate file before recording ↵Marco Nelissen2014-12-101-0/+3
|\ | | | | | | | | | | | | into it." * commit 'a2bc118cfe860f9c108ba089b021d3b003185c56': Truncate file before recording into it.
| * am 2a0f484e: am a04c05ab: Merge "Truncate file before recording into it."Marco Nelissen2014-12-101-0/+3
| |\ | | | | | | | | | | | | * commit '2a0f484e7d95490274e77cd4adc01592cfdf6e3a': Truncate file before recording into it.
| | * Truncate file before recording into it.Marco Nelissen2014-12-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Recording into an existing file of non-zero length could leave old data in the file after the recording ends. Best case that wastes space, worst case it results in a file that's considered corrupt on playback. Change-Id: I2c77a107603b2b36790958360ff0856c2b28d677
* | | Remove filename based writer constructorsMarco Nelissen2014-12-101-8/+0
|/ / | | | | | | | | | | | | MediaPlayerService can't open files (it needs an already opened file descriptor), so these were just wasting space. Change-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03
* | [FM] Fix FM App record fail Buganizer ID: 17975676Hochi Huang2014-10-241-2/+2
|/ | | | | | | | Review: https://partner-android-review.git.corp.google.com/#/c/185234 Signed-off-by: Hochi Huang <hochi.huang@mediatek.com> Change-Id: I872ce744d23049e251a46aebc4019be5b25e3612
* StageFrightRecorder: Enable meta-data mode for VP8 hardware encoder.Praveen Chavan2014-10-061-0/+1
| | | | | | | | | | Meta-data mode for input is preferred (rather required) for recording with camera v1. This capability is queried and enabled per codec; enable it for VP8 hardware encoder. Bug: 17664960 Change-Id: I4735c61670ebe0a555002cc25ef3ed823ab02f1f
* mediarecorder: set level if setting default profileLajos Molnar2014-10-021-0/+5
| | | | | Bug: 17676461 Change-Id: If01ccd09935945d330de0842be95c3544951b6b9
* StagefrightRecorder: default to codec and fps from camcorder low profileChong Zhang2014-09-111-6/+32
| | | | | Bug: 16870964 Change-Id: I18425af630d3f041a3bcf77fbae3f07856fe8af2
* StagefrightRecorder: add VIDEO_ENCODER_VP8 case in setupVideoEncoderRobert Shih2014-08-201-0/+4
| | | | | Bug: 16329805 Change-Id: Ibc80cdeb1958f739dd67b65e57f6b7cc551a9db3
* StagefrightRecorder: check for WEBM format instead of MP4Robert Shih2014-07-241-5/+5
| | | | | Bug: 16544665 Change-Id: Idc45bd4cafc65a11132d10fdf21f8439e186f35f
* StagefrightRecorder: webm (video only) supportRobert Shih2014-07-221-29/+44
| | | | | Bug: 16329805 Change-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364
* Log an error when audio/video encoder failed to createChong Zhang2014-06-111-1/+5
| | | | | Change-Id: I493981cddeb9452c533e2917d8c440897d5e6b49 related-to-bug: 15106730
* initialize encoder at start() time for camera sourceChong Zhang2014-02-261-5/+17
| | | | | Bug: 13156212 Change-Id: I845ef51f662f04c50179dbfb128204922a424e1d
* Merge "support for time lapse/slow motion when using SURFACE source"Chong Zhang2014-02-221-3/+14
|\
| * support for time lapse/slow motion when using SURFACE sourceChong Zhang2014-02-141-3/+14
| | | | | | | | | | Bug: 13032650 Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
* | fix the build by fixing more warnings.Andreas Huber2014-02-111-1/+1
|/ | | | Change-Id: Ied0ec39eb83b101582702d1e30c21643ccf6353e
* resolved conflicts for merge of 566be7c3 to masterNarayan Kamath2014-02-111-3/+4
|\ | | | | | | Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce