summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
Commit message (Collapse)AuthorAgeFilesLines
* First step towards renabling Timelapse video recordingJames Dong2010-12-091-1/+1
| | | | Change-Id: I93836b066fb69d5152d3774546a9935057a1f12f
* Remove check if the target video resolution is not supported by CameraSourceJames Dong2010-12-051-1/+9
| | | | | | | | and clean up Camera is CameraSource could not created. bug - 3254411 Change-Id: I43497c450e7007de5ce027e2912b1421119e8887
* Prepare for publishing MediaMetadataRetriever as public APIJames Dong2010-12-032-22/+4
| | | | | | | | | | step one: o replaced captureFrame with getFrameAtTime o removed getMode bug - 2433195 Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
* If camera source uses the metadata, we must use HW encoderJames Dong2010-12-021-2/+10
| | | | | | | | Software video encoders are not able to deal with non-YUV metadata in the video buffer sent from camera bug - 3242213 Change-Id: I97361ed88b2a687190e5129459011afff7f32c2d
* am 80639875: am d4c5478a: Merge "Be conservative in estimating the file size ↵James Dong2010-12-021-0/+8
|\ | | | | | | | | | | | | limit." into gingerbread * commit '806398755fdc63438b607856574e5b885ad98e6b': Be conservative in estimating the file size limit.
| * Be conservative in estimating the file size limit.James Dong2010-11-301-0/+8
| | | | | | | | | | | | bug - 3045580 Change-Id: Ifdffa354b9433639c3f246a0eb581ef14af1e797
* | Support streaming data across binder boundaries.Andreas Huber2010-11-234-0/+59
| | | | | | | | Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
* | Squashed commit of the following:Andreas Huber2010-11-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7 Author: Andreas Huber <andih@google.com> Date: Mon Nov 22 12:57:04 2010 -0800 set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer. Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42 commit 4767b52bee3a54ae117a8708d6832276a44e6a6a Author: Andreas Huber <andih@google.com> Date: Mon Nov 22 11:14:57 2010 -0800 info->mMediaBuffer may still be NULL at this point... Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92 Author: Andreas Huber <andih@google.com> Date: Mon Nov 22 10:55:12 2010 -0800 QCOM's YVU420 color format conversion has now been tested. Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67 commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7 Author: Andreas Huber <andih@google.com> Date: Mon Nov 22 09:59:50 2010 -0800 Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle. Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7 Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 16:11:06 2010 -0800 Revamped Software Renderer respects the crop rectangle. Removed obsolete ADRENO support code. Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535 commit 8abbc6a5608bff650f968540f24a2eab75f254ed Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 16:10:41 2010 -0800 The metadata retriever now respects the crop rectangle while capturing a video frame. Change-Id: Id3377176060086d16717f62c77ce26fabe899050 commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21 Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 16:09:50 2010 -0800 Changed ColorConverter APIs to be more general. Clients can now refer to crop rectangles in both source and destination. Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04 commit 273184303d54a54febd3e9c3dd4df30507ea78b5 Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 15:04:06 2010 -0800 The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4 commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690 Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 14:36:55 2010 -0800 The AVC software decoder now properly advertises the cropping rectangle. Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6 Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 13:40:39 2010 -0800 OMXCodec now signals a format change if the cropping rectangle changes. ...and puts the cropping info into its output format. Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2 commit efe0323947029df1c502599ccc288c8d676dfd31 Author: Andreas Huber <andih@google.com> Date: Fri Nov 19 11:29:39 2010 -0800 Stagefright's MetaData object now supports rectangle items. Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504 Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
* | Removed uncessary FILE structure pointer for I/OJames Dong2010-11-191-4/+4
| | | | | | | | | | | | o also move the fd owner from caller to callee in the Writers Change-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65
* | Remove all traces of legacy renderer support in stagefright.Andreas Huber2010-11-166-21/+0
| | | | | | | | Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
* | Remove legacy PV stuffJames Dong2010-11-154-65/+4
| | | | | | | | Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
* | Separate the key for audio sampling rate and video frame rate in MetaData.hJames Dong2010-11-111-2/+2
| | | | | | | | Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
* | Fix uninitialized variableJames Dong2010-11-101-0/+1
| | | | | | | | | | | | o This was missed while the rotation patch was hand merged. Change-Id: I4016f9fb9cd54c5e853da15bbaaa50b1d1dac8c8
* | Rotation supportJames Dong2010-11-092-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - We only support 0, 90, 180, and 270 degree clockwise rotation - Some players are known to ignore composition matrix in the MP4 file, although this is part of the MP4 file standard. Both QT and YT are supporting the rotation The original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged. The only change I made is to reuse the same kKeyRotation in MetaData.h; and thus do not neeed to use kKeyRotationDegree. Change-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a
* | am c4a2ead2: am d2d62d04: Merge "Support extracting thumbnail from rotated ↵James Dong2010-11-081-0/+2
|\ \ | |/ | | | | | | | | | | video tracks" into gingerbread * commit 'c4a2ead2aa5ab4403553e4956ba71b44782f0c84': Support extracting thumbnail from rotated video tracks
| * Support extracting thumbnail from rotated video tracksJames Dong2010-11-081-0/+2
| | | | | | | | Change-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c
| * Rotation supportJames Dong2010-11-052-0/+22
| | | | | | | | | | | | | | | | | | | | - We only support 0, 90, 180, and 270 degree clockwise rotation - Some players are known to ignore composition matrix in the MP4 file, although this is part of the MP4 file standard. Both QT and YT are supporting the rotation Change-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4
| * Revert "Support rotation in media recorder"James Dong2010-11-032-27/+0
| | | | | | | | This reverts commit f1febe470ac30f8992066cb263c10f58493c4c34.
| * Support rotation in media recorderJames Dong2010-11-032-0/+27
| | | | | | | | | | | | o needs to be tested with camera hal and camcorder application Change-Id: Ie343185c8ad3ec55da8850efbdcf19cf98993232
* | Use meta data in the media recording frameworkJames Dong2010-11-042-2/+13
| | | | | | | | | | | | o This patch allows us to do 720p video recording Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
* | Squashed commit of the following:Andreas Huber2010-10-294-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 0d5694ba2d399dd0869532a4d6256448185a1be0 Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:59:23 2010 -0700 suspend() and resume() methods on VideoView are back but don't do anything. They need to be back because they were public before. Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425 commit 16192891ed7d349ee97e47d1729d20a2d0d247b8 Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:47:05 2010 -0700 Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming." This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25. Conflicts: api/current.xml Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5 commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:44:16 2010 -0700 Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093." This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f. commit f2ed03550887986f39d36b5dabcd9e919949c7cf Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:44:08 2010 -0700 Revert "Release MediaPlayer if suspend() returns false." This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268. commit 441ecce678bd24e9660a72c8627b5bd94433ff8b Author: Andreas Huber <andih@google.com> Date: Fri Oct 29 11:40:46 2010 -0700 manually. Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87 Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
* | Don't change the video recording frame rate if it is not requested.James Dong2010-10-251-3/+20
| | | | | | | | | | | | | | | | | | | | | | o set the default video frame rate to the current frame rate being used o add check on whether the requested frame rate is supported o fix an issue where the hardware video encoder setting was bypassed o increases the max frame rate from 30 t0 120 frames per second the actual frame rate will be clipped if the requested frame rate is too high when recording starts by checking the hardware encoder capabilities Change-Id: I1b47671d74da0ebcb9601bdca390d430cc048fbc
* | Merge fb474872 from gingerbread-plus-aospJean-Baptiste Queru2010-10-181-1/+1
|\ \ | |/ | | | | Change-Id: I1bbb845a86a7b7df44ea175df3af22e5f47c44e3
| * Include the framework copy of the OpenMAX headers instead of referencing ↵Andreas Huber2010-10-151-1/+1
| | | | | | | | | | | | | | external/opencore. Change-Id: I762f59acf5e1f770e4d7c2d89af362bfffebefa6 related-to-bug: 3101573
* | resolved conflicts for merge of a127c07c to masterKenny Root2010-10-142-0/+57
|\ \ | |/ | | | | Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
| * Support for writing to MPEG2 transport stream files.Andreas Huber2010-10-122-0/+51
| | | | | | | | Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
* | am 2b4f1f4c: am f72dd019: Merge "Disable 10secs forward/backward seeking for ↵Andreas Huber2010-10-101-0/+4
|\ \ | |/ | | | | | | | | | | | | | | rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread Merge commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7' * commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7': Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
| * Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very ↵Andreas Huber2010-10-081-0/+4
| |\ | | | | | | | | | expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread
| | * Disable 10secs forward/backward seeking for rtsp as seek is a very expensive ↵Andreas Huber2010-10-081-0/+4
| | | | | | | | | | | | | | | | | | | | | operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality. Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2 related-to-bug: 3073955
* | | am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" ↵Eric Laurent2010-10-102-0/+12
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | into gingerbread Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c' * commit '4f21e517d09b9d793d20d64547df330fba705b3c': Added getter for session Id to AudioSink
| * | Added getter for session Id to AudioSinkEric Laurent2010-10-072-0/+12
| |/ | | | | | | | | | | | | | | | | | | | | Added a method to expose the audio session id at AudioSink interface so that the AudioPlayer in stagefright can retrieve it. Also: - Fixed audio effect send level not being initialized in mediaplayer. - Fixed compilation error when LOGV is enabled in mediaplayer JNI Change-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb
* | Move Camera specific logic out from StagefrightRecorder to CameraSourceJames Dong2010-10-082-172/+13
| | | | | | | | | | | | | | o updated comments and streamlined the logic in checkVideoSize() and checkFrameRate() as suggested Change-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3
* | Use setVideoSize API in StagefrightRecorderJames Dong2010-10-042-2/+72
| | | | | | | | Change-Id: Ia7ddf5e8d2b931453d2cb801169906191349ca07
* | am 7dff9dfd: am 269dea1c: Merge "Fix media.player dumpsys to output ↵Dave Sparks2010-09-281-2/+4
|\ \ | |/ | | | | | | | | | | | | | | open/mapped files correctly. Bug 2866669. The dump function whitelists several directories as filters to the output. The mount point changed for SD card in Froyo, and we started filtering files that w Merge commit '7dff9dfd6176fad1318a27f16318561453a429f0' * commit '7dff9dfd6176fad1318a27f16318561453a429f0': Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.
| * Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.Dave Sparks2010-09-271-2/+4
| | | | | | | | | | | | | | | | | | The dump function whitelists several directories as filters to the output. The mount point changed for SD card in Froyo, and we started filtering files that were open on the SD card. This fix changes the filter for the SD card, and adds the directory for data files as well. Change-Id: I61b67c3d11d93dbd530e8b3566000e79bc037137
* | Implemented frequent read returns for quick stop in time lapse.Nipun Kwatra2010-09-172-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the frame capture interval is large, read will block for a long time. Due to the way the mediaRecorder framework works, a stop() call from mediaRecorder waits until the read returns, causing a long wait for stop() to return. To avoid this, we return a copy of the last read frame with the same time stamp if a frame is not available quickly. This keeps the read() call from blocking too long. This method is triggered when startQuickReadReturns() is called on CameraSourceTimeLapse. In the still camera case, also using waitRelative on Condition instaed of sleeping, so that we can wake it up. Also for the idle check instead of sleeping, we now wait on a condition variable, which is woken up when the last takePicture callback gets called. Change-Id: Ia74386e175536aee0f44ae2f8b114c353d3d72f5
* | Checks for auxiliary video recording.Nipun Kwatra2010-09-141-2/+10
| | | | | | | | | | | | | | | | - Check that time lapse mode is on when using auxiliary video recording. - Check that auxiliary video size is strictly less than the main video size. Change-Id: Ic49d25e6ac30f6f885ce4f5fb38dbe0cc7bc1be1
* | Moving decision to use still camera to CameraSourceTimeLapseNipun Kwatra2010-09-032-25/+4
| | | | | | | | | | | | | | | | | | | | | | | | CameraSourceTimeLapse now decides whether to use still or video camera automatically. It checks if the passed in size is a valid preview size and if it is, then uses the video camera else uses the still camera. Removed from StagefrightRecorder the support to set parameter useStillCameraForTimeLapse. Change-Id: I71f5b0fc7080ca524792381efe918d22e41a7f36
* | Support for auxiliary video parameters.Nipun Kwatra2010-09-012-13/+90
| | | | | | | | | | | | | | | | Added support for passing width, height and video bitrate for the auxiliary video. Also setting encoder level depending on the video size and bitrate. Change-Id: I4a90046853f67287c3e7e6babc75b4827f0c3e73
* | Added setAuxiliaryOutputFile to MediaRecorder and JNINipun Kwatra2010-08-312-0/+12
| | | | | | | | | | | | | | added setAuxiliaryOutputFile to allow setting of an auxiliary output file. Also added the JNI support. Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
* | Adding support for parallel recording sessions.Nipun Kwatra2010-08-312-35/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added setOutputFileAuxiliary to pass the auxiliary file descriptor. The java interface through JNI will be checked in next. - renamed setupCameraSource to setupCamera as the function just sets the camera. - Added setupCameraSource which sets up the camera source. This functionality was in setupVideoEncoder before. - setupVideoEncoder now takes in a cameraSource instead of creating it on it own. - Refactored startMPEG4Recording() to use setupMPEG4Recording, setupMPEG4MetaData. - setupMPEG4Recording() takes in file descriptor, bitrates to setup a mpeg4 writer. This function can be called multiple times to setup multiple writers. - Added setupMPEG4MetaData() for setting up the meta data for mpeg4 writer. startMPEG4Recording() now calls setupMPEG4Recording, setupMPEG4MetaData for each recording session. Change-Id: I07f5334a1ff8e12a36f58e94129fcfa6add2208b
* | am 9aa05ec2: am 681c5ff2: Merge "Reverse the default setting of ↵Andreas Huber2010-08-302-4/+4
|\ \ | |/ | | | | | | | | | | | | | | media.stagefright.enable-{rtsp,record} in preparation for building without opencore." into gingerbread Merge commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12' * commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12': Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.
| * Reverse the default setting of media.stagefright.enable-{rtsp,record} in ↵Andreas Huber2010-08-302-4/+4
| | | | | | | | | | | | | | preparation for building without opencore. Change-Id: I1ca6bd8faba0185f9694f9dc04d2b3e6a7ab5ac3 related-to-bug: 2370115
* | am 28a92120: am 3f51fa78: Runtime dump support for MediaWriterJames Dong2010-08-241-2/+10
|\ \ | |/ | | | | | | | | | | Merge commit '28a92120a702289533a9c9d004bd60f83b2fd98b' * commit '28a92120a702289533a9c9d004bd60f83b2fd98b': Runtime dump support for MediaWriter
| * Runtime dump support for MediaWriterJames Dong2010-08-231-2/+10
| | | | | | | | Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895
* | am 701b710c: am 300b0b7e: Merge "setParamMaxFileDurationUs should allow zero ↵Nipun Kwatra2010-08-241-1/+5
|\ \ | |/ | | | | | | | | | | | | | | time input as per API of setMaxDuration." into gingerbread Merge commit '701b710c194181765616520f6d89d450b4b6c1f5' * commit '701b710c194181765616520f6d89d450b4b6c1f5': setParamMaxFileDurationUs should allow zero time input as per API of setMaxDuration.
| * setParamMaxFileDurationUs should allow zero time input as per API of ↵Nipun Kwatra2010-08-201-1/+5
| | | | | | | | | | | | | | | | | | | | setMaxDuration. according to MediaRecorder::setMaxDuration documentation we should disable duration limit when zero or negative time is passed. Currently setParamMaxFileDurationUs was treating zero/negative as an error case. Fixed that. Change-Id: I468c3bcc74cb5a34ee3e172cef5147550d6be096
* | Change the framework to use the new camera preview path.Jamie Gennis2010-08-234-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | This change makes the camera HAL interface take an ANativeWindow interface from which all the camera preview buffers will be allocated. The framework code running in application processes now passes a Surface object rather than an ISurface to the camera server via Binder when setting the preview surface. The camera server then forwards that Surface object (which implements the ANativeWindow interface) to the camera HAL, which uses it to communicate with SurfaceFlinger to allocate the camera preview buffers. Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
* | Merge "Squashed commit of the following:"Andreas Huber2010-08-236-7/+28
|\ \
| * | Squashed commit of the following:Andreas Huber2010-08-236-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 35cc68814a9537c31fde146e171e7b0bbdfe211e Author: Andreas Huber <andih@google.com> Date: Mon Aug 16 08:48:42 2010 -0700 Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else. commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 13:56:44 2010 -0700 The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise. commit 684972074b74318bdcb826ed9b5b0864d2d2e273 Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 09:34:35 2010 -0700 A first shot at supporting the new rendering APIs. Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd