summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | am c8d2fa70: am cbd038fe: Merge "Make MediaWriter stop and pause return ↵James Dong2010-08-211-2/+3
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | errors if necessary" into gingerbread Merge commit 'c8d2fa704abebdbf0bd8aac185216dc068950217' * commit 'c8d2fa704abebdbf0bd8aac185216dc068950217': Make MediaWriter stop and pause return errors if necessary
| * Make MediaWriter stop and pause return errors if necessaryJames Dong2010-08-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | o Make the API consistent with SF framework, which the MediaSource provides a return status for stop o Also, helps to convey errors that occurred right when a premature stop() is called, leading to a potentially mal-formed output file. Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
* | am f54da15b: am eff30e3d: Change the default time scale for audio/video ↵James Dong2010-08-161-6/+12
|\ \ | |/ | | | | | | | | | | | | | | track during recording and reduce rounding errors in calculating the sample duration Merge commit 'f54da15b7c3fa55268451c485544e831832fdf15' * commit 'f54da15b7c3fa55268451c485544e831832fdf15': Change the default time scale for audio/video track during recording
| * Change the default time scale for audio/video track during recordingJames Dong2010-08-161-6/+12
| | | | | | | | | | | | | | | | | | | | | | and reduce rounding errors in calculating the sample duration - Default time scale for tracks other than audio is set to 90000. - Audio track by default uses the audio sampling rate as the time scale. - Default movie time scale remains to be 1000. - The default time scale values will be overwritten by a user-supplied value if exits. Change-Id: I81b40ed0626ea45e9fd24a89e21a2c5a4a2c3415
* | am 0386d04b: am 581581fe: Merge "Fix all fd leaks in authoring engine" into ↵James Dong2010-08-121-5/+5
|\ \ | |/ | | | | | | | | | | | | | | gingerbread Merge commit '0386d04b19619b03b6bce830010e11d31d3f8a5c' * commit '0386d04b19619b03b6bce830010e11d31d3f8a5c': Fix all fd leaks in authoring engine
| * Fix all fd leaks in authoring engineJames Dong2010-08-111-5/+5
| | | | | | | | Change-Id: I17798543f9dd41cc8bef6f6086e66932f9f97be8
* | When using still camera for time lapse capture, don't set preview.Nipun Kwatra2010-08-051-6/+7
| | | | | | | | | | | | | | | | Since HD resolution may not be supported by the video camera, don't set preivew using the HD size. The app should have set the preview already, just use that. Change-Id: I2f8e89bf2c7440f7bc8db7e4a228f4c8250d92b4
* | am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 ↵Andreas Huber2010-08-053-5/+54
|\ \ | |/ | | | | | | | | | | | | | | assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf' * commit '1f513d8821670a33d6361ea521b6756163a3f9bf': Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
| * Support for Gtalk video, includes AMR/H.263 assembler and packetization ↵Andreas Huber2010-08-043-5/+54
| | | | | | | | | | | | support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation. Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
* | am d152c1c7: am d194f3d6: Merge "Replace CHECK with a failure return value ↵James Dong2010-08-041-1/+7
|\ \ | |/ | | | | | | | | | | | | | | when mCamera->setParameters() fails if the camera is locked by someone else." into gingerbread Merge commit 'd152c1c7534a80b84f6b389efa8a410ea359b3eb' * commit 'd152c1c7534a80b84f6b389efa8a410ea359b3eb': Replace CHECK with a failure return value when mCamera->setParameters() fails
| * Replace CHECK with a failure return value when mCamera->setParameters() failsJames Dong2010-08-031-1/+7
| | | | | | | | | | | | | | | | if the camera is locked by someone else. bug - 2827892 Change-Id: I217d4a00f04ebd57b557d3faef28787c14f23ea0
* | Allowing useStillCameraForTimeLapse to be set through MediaRecorder.javaNipun Kwatra2010-08-022-1/+22
| | | | | | | | | | | | | | | | | | | | This will allow apps to make the decision of whether to use still image mode or video mode for time lapse capture. - setTimeLapseParameters now takes in a useStillCameraForTimeLapse parameter. - Added support in StagefrightRecorder for passing through this parameter. Change-Id: Iafbcb76f9a7903118ea5eb822c81008619630f03
* | am e915b0ef: am d973a533: Merge "Lower the lower bound for max file duration ↵James Dong2010-07-301-1/+1
|\ \ | |/ | | | | | | | | | | | | | | check" into gingerbread Merge commit 'e915b0ef5d574022dfeffc9b2b61e21c1433c89c' * commit 'e915b0ef5d574022dfeffc9b2b61e21c1433c89c': Lower the lower bound for max file duration check
| * Merge "Lower the lower bound for max file duration check" into gingerbreadJames Dong2010-07-301-1/+1
| |\
| | * Lower the lower bound for max file duration checkJames Dong2010-07-301-1/+1
| | | | | | | | | | | | | | | | | | - This fixed a CTS test where 200 ms is being used Change-Id: Ib598b7b94be54e98a96703c58c5f244bc379cf7d
| * | resolved conflicts for merge of 27eecb70 to gingerbreadJean-Baptiste Queru2010-07-302-2/+2
| |\ \ | | |/ | |/| | | | Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
| | * fix inaccurate copyrightsJean-Baptiste Queru2010-07-292-2/+2
| | | | | | | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | | am 0c51c98f: am 4506c62a: fix inaccurate copyrightsJean-Baptiste Queru2010-07-292-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf' * commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf': fix inaccurate copyrights
| * \ \ am 4506c62a: fix inaccurate copyrightsJean-Baptiste Queru2010-07-292-2/+2
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | Merge commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625' into gingerbread-plus-aosp * commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625': fix inaccurate copyrights
| | * | fix inaccurate copyrightsJean-Baptiste Queru2010-07-292-2/+2
| | | | | | | | | | | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | | | am cb51115c: am 5587bb7e: Merge "Interleave the audio and video by default - ↵James Dong2010-07-281-2/+4
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | default interleave duration is set to 1 second" into gingerbread Merge commit 'cb51115cca81ba47d00aa344f6ed16d1056b056b' * commit 'cb51115cca81ba47d00aa344f6ed16d1056b056b': Interleave the audio and video by default
| * | | Interleave the audio and video by defaultJames Dong2010-07-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - default interleave duration is set to 1 second This can dramatically reduce the memory usage by the MP4 file writer. Change-Id: Ia3ff202cabfcd2d3f183065d31e4596617c2dded
* | | | Allowing setting of time lapse parameters through MediaRecorder.javaNipun Kwatra2010-07-222-8/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added setTimeLapseParameters() to MediaRecorder.java and SetParameter support in StagefrightRecorder to allow enabling time lapse and setting the corresponding parameters. Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
* | | | am 34161132: am 7070b365: Added support for auxiliary audio effects to ↵Eric Laurent2010-07-212-2/+52
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | AudioTrack and MediaPlayer. Merge commit '34161132030254bac7dd64c9713832e2f961a061' * commit '34161132030254bac7dd64c9713832e2f961a061': Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
| * | | Added support for auxiliary audio effects to AudioTrack and MediaPlayer.Eric Laurent2010-07-212-2/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added methods to AudioTrack and MediaPlayer java classes to enable use of auxiliary audio effects. The effect can be attached and detached by specifying its ID and the send level controlled. Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
* | | | am 9049fe60: am d7514ec6: Merge "Progress status notification" into gingerbreadJames Dong2010-07-202-23/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Merge commit '9049fe60c20640bd606741c8f45f3f781a1684f5' * commit '9049fe60c20640bd606741c8f45f3f781a1684f5': Progress status notification
| * | | Progress status notificationJames Dong2010-07-202-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | - Keep track of per-track progress Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
* | | | Use software encoder for time lapse capture.Nipun Kwatra2010-07-201-1/+3
| | | | | | | | | | | | | | | | Change-Id: I7f60eb1af95590c84b0cd98134f5a5a8963338dd
* | | | Adding support for timelapse capture using still camera's takepicture.Nipun Kwatra2010-07-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also moving entire implementation into a new class CameraSourceTimeLapse which inherits from CameraSource. For timelapse capture using still camera, we start a thread which runs a loop in which it calls Camera::takePicture() and then sleeps until the next frame should be captured. The function dataCallback() handles the callback from the camera with the raw image data. This function copies the data and creates an artificial timestamp corresponding to one frame time ahead of the last encoded frame's time stamp. It then calls dataCallbackTimestamp() of the base class which will think that it recieved the frame from a video camera and proceed as usual. For moving the implementation to the subclass CameraSourceTimeLapse, added a few virtual functions to CameraSource, which do the current thing for the base class, but specialized things for CameraSourceTimeLapse. E.g. startCameraRecording() in the base class just calls mCamera->startRecording(), while in CameraSourceTimeLapse it may start a thread for the still camera case. Change-Id: Ib787f24bd2e1f41681513f0257e1c4ca10a2b4de
* | | | am b068b47c: am d6a85a21: Merge "Support user-supplied timescales for ↵James Dong2010-07-152-14/+80
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | authoring" into gingerbread Merge commit 'b068b47c6d0214256116a0c661740bddf7acc18c' * commit 'b068b47c6d0214256116a0c661740bddf7acc18c': Support user-supplied timescales for authoring
| * | | Support user-supplied timescales for authoringJames Dong2010-07-142-14/+80
| | | | | | | | | | | | | | | | | | | | | | | | - also, change all the real time unit to microseconds in MPEG4Writer Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
* | | | am f6bdc764: am 9d8bea11: Merge "Initial checkin for software AVC encoder" ↵James Dong2010-07-131-1/+3
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | into gingerbread Merge commit 'f6bdc764b7a21f8037504e1dc4f81227ea2bedea' * commit 'f6bdc764b7a21f8037504e1dc4f81227ea2bedea': Initial checkin for software AVC encoder
| * | | Initial checkin for software AVC encoderJames Dong2010-07-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Since the software encoder assumes the input is YUV420 planar, color conversion needs to be added when the input color format does not meet the requirement. With this patch, I only added a single color conversion from YUV420 semi planar to YUV420 planar. We can add more as we go. Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
* | | | am 4f440632: am 929642ee: Add runtime dumpsys support for media recorder clientJames Dong2010-07-095-14/+89
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Merge commit '4f4406322dafd6e128b437edbc541327f0b38d04' * commit '4f4406322dafd6e128b437edbc541327f0b38d04': Add runtime dumpsys support for media recorder client
| * | | Add runtime dumpsys support for media recorder clientJames Dong2010-07-085-14/+89
| | | | | | | | | | | | | | | | Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
* | | | am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbreadEric Laurent2010-07-072-125/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9' * commit 'b91881fdd1608cc922f105ec552b5505da1fecb9': Added Visualizer effect.
| * | | Merge "Added Visualizer effect." into gingerbreadEric Laurent2010-07-072-125/+0
| |\ \ \