summaryrefslogtreecommitdiffstats
path: root/libvideoeditor
Commit message (Collapse)AuthorAgeFilesLines
* media: 64 bit compile issuesMark Salyzyn2014-04-1513-32/+45
| | | | | | | | - change internal sized types to use stdint.h - printf & scanf formats - size_t or unsigned int for iterators Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
* Remove code markersDmitriy Ivanov2014-04-151-78/+0
| | | | Change-Id: Iaebfaef2e58e9659d86699d9b7fc68f24cf09bf3
* Use libaudioresampler instead of libaudioflingerGlenn Kasten2014-03-194-11/+3
| | | | | | | | | in order to be able to build libvideoeditor as 64-bit also. libaudioresampler is available in both 32-bit and 64-bit, unlike libaudioflinger which is currently 32-bit only. Change-Id: Id63857da877b1e45b7c1f8e35f18dca6600be3f7
* mediaserver and associated services are 32-bit onlyGlenn Kasten2014-03-123-0/+6
| | | | | | also 32-bit only command-line apps Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
* Fix ALOGVs for 64bitKévin PETIT2014-02-282-4/+4
| | | | | Change-Id: I556f90f9e6ace1a897d24326e5c14e7bf1e9fe29 Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
* Make frameworks/av 64-bit compatibleKévin PETIT2014-02-113-13/+14
| | | | | | | | | | | | Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
* frameworks/av: fix errors inside ALOGVColin Cross2014-02-101-1/+1
| | | | | | Fix errors exposed by adding compile-time checking to disabled ALOGVs. Change-Id: Ie06db81d422bb4eee7dfc10abb8d03001627af4c
* Merge "Fix c++11 narrowing"Nick Kralevich2014-01-113-7/+7
|\
| * Fix c++11 narrowingsynergydev2013-10-253-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The best fix for these narrowing violations is to use static casting As an example, this change would the following for libnaio: error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka 'unsigned int') to 'long' in initializer list const struct timespec req = {0, ns}; ^~ Change-Id: I04ed1de4497dc19772194afef3ebf8fe0c8b82bc
* | Change M4OSA_ERR_CREATE to return unsigned integer.Ashok Bhat2014-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | While M4OSA_ERR is defined as M4OSA_UInt32, MOSA_ERR_CREATE is defined to return M4OSA_Int32. This leads to signed/unsigned comparison warnings. M4OSA_ERR_CREATE has been changed to return M4OSA_UInt32 to fix this issue. Change-Id: I71a5c50a95c7f296469604b486a1d3969d302a3f Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | update offloaded audio track sampling rateEric Laurent2013-12-172-0/+8
| | | | | | | | | | | | | | | | AudioPlayer must read the sampling rate from offloaded audio sinks whenever a new time position is computed as the decoder can update the sampling rate on the fly. Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
* | am 7dae71d6: Merge "AwesomePlayer: correct stream type for offload" into klp-devEric Laurent2013-11-151-0/+1
|\ \ | | | | | | | | | | | | * commit '7dae71d606ded1dbc2aa9733c3d98ffac57988f2': AwesomePlayer: correct stream type for offload
| * | AwesomePlayer: correct stream type for offloadEric Laurent2013-11-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | canOffloadStream() function in stagefright utils forces the stream type to AUDIO_STREAM_MUSIC when querying the audio policy manager if a particular track is offloadable or not. This causes MP3 ringtones to be offloaded which is not a validated use case. The fix consists in using the actual stream type read from the AudioSink. Bug: 11410937. Change-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d
* | | am 998c4e88: am 0219856e: Merge "libvideoeditor: fix M4OSA_Clock header guard"Nick Kralevich2013-10-181-1/+1
|\ \ \ | |/ / |/| / | |/ | | * commit '998c4e88f962336472c5e1c3afbf0ed8d6d3a971': libvideoeditor: fix M4OSA_Clock header guard
| * libvideoeditor: fix M4OSA_Clock header guardsynergydev2013-10-181-1/+1
| | | | | | | | | | | | CLOCK was mispelled as CLOCH Change-Id: Ie7163fc8723d7a5b9df113f55a4a550e5465d9b5
| * 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
| | |\
| * | \ 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
* | | separte producer and consumer interfacesMathias Agopian2013-08-061-1/+1
| | | | | | | | | | | | | | | Bug: 9265647 Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
* | | stagefright: offload playback supportRichard Fitzgerald2013-07-262-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offloading of compressed audio decoding to audio DSP is implemented for audio only, non streamed content. when the datasource is AudioPlayer: - Create an offloaded sink when playing a compressed source - Send metadata to audio HAL - Return sink start error to AwesomePlayer so that a new player for PCM audio can be created in case of problem. - Forward stream end and tear down callback events to AwesomePlayer - Stop the sink and wait for stream end callback when EOS is reached. - Pause and restart the sink if needed before flushing when seeking (otherwise flush is a no op). - For current media time, directly query the render position from the sink and offset by the start position (seek to time) AwesomePlayer: - When initializing the audio decoder, check with audio policy manager if offloading is supported. If yes, create the software decoder in case a reconfiguration is needed but connect the audio track directly to the AudioPlayer. - In case of error when starting the AudioPlayer, reconnect the software decoder (OMXSource) and recreate a PCM AudioPlayer. - Handle AudioPlayer tear down event by detroying and recreating the AudioPlayer to allow transitions between situations were offloading is supported or not. - Force tear down of offloaded AudioPlayer when paused for a certain time: This will close the sink and allow the DSP to power down. Utils: - Added helper methods: - send meta data to audio ia sink setParameters - query audio policy manager if offloading is supported for a given audio content Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae Signed-off-by: Eric Laurent <elaurent@google.com>
* | | libmediaplayerservice: offload playback supportRichard Fitzgerald2013-07-262-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main change is to how recycled tracks are used for gapless playback. If we are playing offloaded tracks that can't be recycled we don't open a new offloaded output until we have closed the previous one. This is because offloaded tracks are a limited resource so we don't want to spuriously create unnecessary instances. If the tracks cannot be recycled this means that the formats are incompatible and so the hardware most likely will also be unable to use the existing output channel for the new track. If we already have the maximum number of hardware offload channels open (which could be only one) then creation of the next output would fail if we attempted it while the previous output was still open. Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea Signed-off-by: Eric Laurent <elaurent@google.com>
* | | always pass the BufferQueue explicitely to consumersMathias Agopian2013-07-121-1/+2
| | | | | | | | | | | | Change-Id: Ic2d9a9cf184a482b3c78a481ed693ee32df5ca13
* | | Public API changes for audio offload support.Richard Fitzgerald2013-06-274-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: this does _not_ include all private member variables added to classes as part of offload support. Only public/protected functions and stubs functions/variables needed to make the changes buildable. - isOffloadSupported() added to audio policy service A stub implementation is required to build, this always returns false - setParameters() added to IAudioTrack A stub implementation is required to build, this always returns INVALID_OPERATION - CBlk flag for stream end - Change AudioSystem::getRenderPosition() to take an audio_output_t so caller can specify which output to query - Add AudioSystem::isOffloadSupported() This is fully implemented down to the AudioFlinger function AudioPolicyServer::isOffloadSupported() which is just a stub that always returns false. - Add EVENT_STREAM_END to AudioTrack interface. STREAM_END is used to signal when the hardware has actually finished playing all the data it was sent. - Add event type enumeration to media player interface AudioSink callbacks so that the same callback can be used to handle multiple types of event. For offloaded tracks we also have to handle STREAM_END and TEAR_DOWN events - Pass audio_offload_info_t to various functions used for opening outputs, tracks and audio players. This passes additional information about the compressed stream down to the HAL when using offload. For publicly-available APIs this is an optional parameter (for some of the internal and low-level APIs around the HAL interface it is mandatory) - Add getParameters() and setParameters() API to AudioTrack Currently dummy implementations. - Change AudioPlayer contructor so that it takes a set of bitflags defining what options are required. This replaces the original bool which only specified whether to use deep buffering. - Changes to StageFright class definition related to handling tearing-down of an offloaded track when we need to switch back to software decode - Define new StageFright utility functions used for offloaded tracks Currently dummy implementations. - AudioFlinger changes to use extended audio_config_t. Fills in audio_offload_info_t member if this info is passed in when opening an output. - libvideoeditor changes required to add the new event type parameter to AudioSink callback functions - libmediaplayerservice changes required to add the new event type parameter to AudioSink callback functions Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1 Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Eric Laurent <elaurent@google.com>
* | | 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