summaryrefslogtreecommitdiffstats
path: root/libvideoeditor
Commit message (Collapse)AuthorAgeFilesLines
* Use sp<AudioTrack> instead of raw AudioTrack *Glenn Kasten2013-06-034-20/+14
| | | | | | | | | | | | | | | | | | | | | This change prepares for the new implementation of AudioTrack client, which will require clients to use only sp<AudioTrack>, not raw AudioTrack *. A raw delete will cause a race condition during AudioTrack destruction. AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635 on 2011/11/15, when it was needed by OpenSL ES (for the callback protector). At that time, the only other client that was also converted from AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in project frameworks/base (file android_media_AudioTrack.cpp). Details: * Use .clear() instead of delete followed by = NULL. * ALOG %p need .get(). * sp<> don't need to be listed in constructor initializer, if initially 0. * Use == 0 for sp<> vs == NULL for raw pointers. * Use if (sp != 0) instead of if (raw). Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
* Merge "MediaMuxer prefer not to use the MPEG4Writer in real time recording ↵ztenghui2013-04-151-2/+2
|\ | | | | | | mode." into jb-mr2-dev
| * MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.ztenghui2013-04-151-2/+2
| | | | | | | | | | | | | | | | By default, MPEG4Write will keep running in real time recording mode. bug:8598944 Change-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf
* | Add liblogYing Wang2013-04-093-3/+3
|/ | | | | Bug: 8580410 Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
* am c44a3ae2: am f0cea9f8: Merge "Prevent invalid frame durations"Glenn Kasten2013-03-151-0/+6
|\ | | | | | | | | * commit 'c44a3ae2704af52c0f4ea006b5b02a53b6df6c46': Prevent invalid frame durations
| * Prevent invalid frame durationsOla Andersson2013-03-121-0/+6
| | | | | | | | | | | | | | Prevent frame duration from being negative when exporting movie studio project Change-Id: I459fb243650c777c2b59d1094acc88c3a944bd81
* | Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-153-12/+12
| | | | | | | | Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
* | am 3e55b3e4: am 12834fe2: Merge "libvideoeditor: fix code bugs when enabling ↵James Dong2012-12-283-4/+4
|\ \ | |/ | | | | | | | | | | all-level debugging macros" * commit '3e55b3e4cdebd47a2e5b5df99107954fb4b1ab64': libvideoeditor: fix code bugs when enabling all-level debugging macros
| * Merge "libvideoeditor: fix code bugs when enabling all-level debugging macros"James Dong2012-12-213-4/+4
| |\
| | * libvideoeditor: fix code bugs when enabling all-level debugging macrosbeanz2012-11-073-4/+4
| | | | | | | | | | | | | | | Change-Id: Ic8aedfa821d79698d31cf7ee3bf382aae85981f6 Signed-off-by: beanz <beanz@marvell.com>
* | | am 9c891ca3: am 2a55b596: Merge "libvideoeditor: fix cannot show some ↵James Dong2012-12-201-0/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video" * commit '9c891ca36a7f2acecd70d41ff39a2025048bb0b1': libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video
| * | libvideoeditor: fix cannot show some thumbnails in storyboard or no frame ↵beanz2012-11-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | display in PreviewRenderer surface after importing video 1. this is caused mFrameIntervalMs isn't assigned for use-software-codec case 2. without the assingment, some decoded frames will not be copied to the buffer queue of VideoEditorVideoDecoder Change-Id: I578954e38958ebac8f258300e60b8ddf60e50521 Signed-off-by: beanz <beanz@marvell.com>
* | | Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-186-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
* | | stop using a deprecated SurfaceTextureClient ctor"Jamie Gennis2012-12-121-1/+1
| | |
* | | Revert "stop using a deprecated SurfaceTextureClient ctor"Jamie Gennis2012-12-121-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit aef79b0676d8f0ee8ef637ec8be5ba73225b038d Change-Id: I5f6cf4d6d5dc895a9426f212dfc8a25b4bf2d23a
* | | stop using a deprecated SurfaceTextureClient ctorJamie Gennis2012-12-111-1/+1
| | | | | | | | | | | | Change-Id: I792277b0d711da22f6b2abb7f1d837450d6af8e2
* | | Use size_t for frame countsGlenn Kasten2012-11-151-1/+1
| | | | | | | | | | | | | | | | | | Also fix typo: bufferCount should be frameCount. Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
* | | Use uint32_t for sample rateGlenn Kasten2012-11-141-1/+1
| | | | | | | | | | | | Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
* | | Remove obsolete references to libmedia_nativeGlenn Kasten2012-10-301-1/+0
|/ / | | | | | | | | Bug: 6654403 Change-Id: I3993d62987cf0dd85db10bf002a5cce53d4f01bd
* | Integrate improved coefficient sinc resampler: VHQGlenn Kasten2012-10-042-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Very high quality is enabled only for 44.1 -> 48 or 48 -> 44.1, and uses low quality for all other use cases. Track estimated CPU load and throttles the quality based on load; as currently configured it should allow up to 2 instances of very high quality. Medium quality and high quality are currently disabled unless explicitly requested. Details: Only load .so the first time it is needed. Cleanup code style: formatting, indentation, whitespace. Restore medium quality resampler, but it is not used (see next line). Fix memory leak for sinc resampler. Check sample rate in resampler constructor. Add logs for debugging. Rename DEFAULT to DEFAULT_QUALITY for consistency with other quality levels. Renumber VERY_HIGH_QUALITY from 255 to 4. Use enum src_quality consistently. Improve parsing of property af.resampler.quality. Fix reentrancy bug - allow an instance of high quality and an instance of very high quality to both be active concurrently. Bug: 7229644 Change-Id: I0ce6b913b05038889f50462a38830b61a602a9f7
* | Move libnbaio out of AudioFlingerGlenn Kasten2012-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | libnbaio is now a separate shared library from AudioFlinger, rather than a static library used only by AudioFlinger. AudioBufferProvider interface is now also independent of AudioFlinger, moved to include/media/ Change-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b
* | am 4348cbce: am 67f694d6: Merge "Initialize pool\'s buffer pointers to null."Jean-Baptiste Queru2012-08-081-0/+6
|\ \ | |/ | | | | | | * commit '4348cbcec6c3aec02af722d633ebda24f94dfcc8': Initialize pool's buffer pointers to null.
| * Initialize pool's buffer pointers to null.Truls Bengtsson2012-07-111-0/+6
| | | | | | | | | | | | | | | | If these pointers are not properly initialized to null and allocation of one of the buffers subsequently fail, the freePool mechanism might erroneously free uninitialized pointers. Change-Id: I2101bdb2cc576e5f50b5a1440e6fc0c54dc4e81b
* | Use audio_channel_mask_t for channel maskGlenn Kasten2012-07-171-3/+1
| | | | | | | | Change-Id: I1c1896da48983aa9f1462a4b471f910498816f60
* | Fixed a video editor crash due to "divided by 0"James Dong2012-06-291-4/+8
| | | | | | | | | | | | | | | | The crash was because the video sample was too short and has 0 duration (or a single frame video). This patch is just simply not to support 0 duration video for editing. Change-Id: I2c7ff78b1e884a4d3a5051f87cdbeeb5dc3078a6 related-to-bug: 6670656
* | Update ANativeWindow client code for syncJamie Gennis2012-06-213-12/+10
|/ | | | | | | This change updates all the uses of ANativeWindow to use the new ANW functions that accept and return Sync HAL fence file descriptors. Change-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16
* Add NOTICE and MODULE_LICENSE_APATCH2 to libvideoeditorJames Dong2012-06-1214-0/+1330
| | | | | Change-Id: I19308c5fb0f39f8e696092186f4386e3dad06894 related-to-bug: 6647465
* Fix green or corrupted video frames in the exported moviesJames Dong2012-06-074-36/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | At least two use cases are affected: trimming and transition clip generation. If the starting time of the transition or the trimming position is not the same as that of any existing video frame, the video frame right before the transition starting position or the trimming position must be encoded as the the first video frame for the transtion or the trimmed video, and it is encoded as a key frame. This frame was not saved without the patch. In the transcoding phrase, since we could not find such a frame, the existing code did not return an error, and incorrectly used some other frame to serve as the reference key frame for the remaining video frames of the transition or the trimmed video. As a result, we may see corrupted or green video frames in the exported movies. The fix is to always save the frame right before the trimming position or the transition starting time, so that a key frame will always be encoded, and the right reference frame is used for remaining video frames. In addition, checks are added to prevent from future mistakes to use incorrect reference frames. Patch was originally contributed by teng.hong@nxp.com Change-Id: I182784d4c1786224445224634edab3338bf2278f related-to-bug: 5713461
* Fix another buffer overflow issueJames Dong2012-05-311-60/+72
| | | | | | | | | | | Using hard-coded length value easily leads to buffer overflow. Refactor the code a bit to make it more readable, and more extensible, and less subject to the buffer overflow coding error. Patch originally contributed by teng.hong@nxp.com Change-Id: Id262915302ccea8ae3b0121bf39890ab463aeeb7 related-to-bug: 6328360
* Avoid prematurely terminating parsing when some track only has a single ↵James Dong2012-05-301-0/+22
| | | | | | | | | access unit Patch was contributed by teng.hong@nxp.com Change-Id: I0f56361d839f18627e512d18e86f51b58b9b0e05 related-to-bug: 6240789
* Remove libvideoeditor_jni.so's dependency on static libs in video editor engineJames Dong2012-05-167-48/+57
| | | | | | related-to-bug: 6502980 Change-Id: I9cbbf44eb53c406263df4003cc3de2af4d239180
* Revert "Remove libvideoeditor_jni.so's dependency on static libs in video ↵James Dong2012-05-154-39/+28
| | | | | | editor engine" This reverts commit 1af1f6a60b9fa217b6809e767babf1ce8a2e95c9.
* Remove libvideoeditor_jni.so's dependency on static libs in video editor engineJames Dong2012-05-154-28/+39
| | | | | | related-to-bug: 6328360 Change-Id: I36324820c7e72fedd8c4caf1b03443a4f7cec37f
* remove dependency on SurfaceTexture::connect()Mathias Agopian2012-04-231-3/+1
| | | | Change-Id: I97ce29ecfde4df171120a3570db9575b32c8d362
* Add support for deep audio buffersEric Laurent2012-04-202-4/+5
| | | | | | | | | | Allow AudioSink to use deep audio buffering when the source is audio only and its duration is more than a certain threshold. This helps improve battery life but implies higher audio latency. Change-Id: Ie79915b61c370292f05aabda9779356570e03cbb
* rename audio policy output flagsEric Laurent2012-04-182-2/+2
| | | | Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
* Add gapless playback support for NuPlayerMarco Nelissen2012-04-022-4/+12
| | | | | | | | | This makes NuPlayer use a SkipCutBuffer when needed, and adds a new AudioSink method to retrieve the number of frames written so far, so NuPlayerRenderer can calculate how much data it can write without blocking. Also make some more methods const. Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
* AV Android make files changesJames Dong2012-03-284-13/+10
| | | | | | | o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc o remove some runtime dependencies to libandroid, libandroid_runtime, etc Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
* Resolve undesirable dependency of /frameworks/av/libvideoeditor on ↵James Dong2012-03-243-6/+77
| | | | | | | | | | | /frameworks/base/media/jni o move VideoEditorMain.h to /frameworks/av/libvideoeditor o removed JNI related C_INCLUDE in some Android.mk files o related-to-bug: 6214141 Change-Id: Iadd01eef701deb728fbac1a3f524ea1db72f6b48
* Make file change because libvideoeditor source files movedJames Dong2012-03-227-36/+36
| | | | | | o related-to-bug: 6214141 Change-Id: I3ef60ca7670df37d7e43546e244cfe6a33093ba9
* Add libmedia_nativeGlenn Kasten2012-03-201-0/+1
| | | | Change-Id: I4bff781a26d01023d23d5285a8aa83dbce46c629
* Fix LOCAL_C_INCLUDES and correct #include syntaxGlenn Kasten2012-03-146-11/+6
| | | | Change-Id: I522861043cc2ee905258a2ae409bf9dddbe452dc
* Prepare frameworks/native/services/audioflingerGlenn Kasten2012-03-142-0/+2
| | | | | | | | Part of this change will be reverted after the move is complete. p.s. this dependency on AudioFlinger should be removed Change-Id: Ib29d413b74a6dc1babe7a33471128be11304ce56
* Switched to use header files in /frameworks/nativeJames Dong2012-03-124-4/+4
| | | | | | o related-to-bug: 6044887 Change-Id: I3a1143b09560a6b8fd67d23bbb375c83442a12e9
* Swtched to use header file in /frameworks/nativeJames Dong2012-03-123-128/+2
| | | | | | o related-to-bug: 6044894 Change-Id: I192f0436572d240fd2fb88446f6fa63ba0128d7e
* Merge "Refactored MediaBufferPuller class from VideoEditorVideoEncoder class"James Dong2012-03-124-190/+274
|\
| * Refactored MediaBufferPuller class from VideoEditorVideoEncoder classJames Dong2012-03-064-190/+274
| | | | | | | | | | | | | | | | o MediaBufferPull class will be useful for the audio encoder also once we switch to use OMX-based audio encoder. o This is the part one for fixing bug 5947347 Change-Id: Icddfeb636f7a59ad766220ef0d3155abace73ad3
* | Update build dependency on AudioMixer headerJean-Michel Trivi2012-03-112-1/+1
| | | | | | | | | | | | | | | | | | VideoEditorSRC doesn't need to include AudioMixer.h. VideoEditorResampler includes AudioMixer.h, which requires system/media/audio_effects/include in the include path. Change-Id: Ibf6194831aeb91e788ce0a3b1282a0d930ee6e48
* | Use audio_policy_output_flags_t consistentlyGlenn Kasten2012-03-082-2/+2
|/ | | | Change-Id: I425cfd442257560dcf141d3d8599ddc7d21c1d13
* Set channel mask when opening audio sinkJean-Michel Trivi2012-03-053-7/+19
| | | | | | | | | Update the code to use the AudioSink::open() interface that takes a channel mask as an additional parameter. The code is only stereo, and returns an error when attempting to create a video editor audio sink with more than two channels. Change-Id: Ib9bba067da0b286c08656976b89fba7c8b42f99f