22612345ae97648d5b6db43cc1aa30aad77f7bba |
|
15-Nov-2013 |
Eric Laurent <elaurent@google.com> |
AwesomePlayer: correct stream type for offload 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
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
d89532e133b881c7e0dac089333ad7642fc510f1 |
|
14-May-2013 |
Richard Fitzgerald <rf@opensource.wolfsonmicro.com> |
libmediaplayerservice: offload playback support 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>
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
ad3af3305f024bcbbd55c894a4995e449498e1ba |
|
25-Mar-2013 |
Richard Fitzgerald <rf@opensource.wolfsonmicro.com> |
Public API changes for audio offload support. 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>
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
2799d743ee2ae5a25fe869a7f9c052acc029559f |
|
30-May-2013 |
Glenn Kasten <gkasten@google.com> |
Use sp<AudioTrack> instead of raw AudioTrack * 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
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
8ba01021b573889802e67e029225a96f0dfa471a |
|
18-Dec-2012 |
Andy McFadden <fadden@android.com> |
Rename ISurfaceTexture and SurfaceTexture 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
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
1948eb3ea6eee336e8cdab9b0c693f93f5f19993 |
|
14-Apr-2012 |
Eric Laurent <elaurent@google.com> |
Add support for deep audio buffers 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
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
4110c101c3d0dd8dbc44c8d2d0edd3e2e7d6652f |
|
29-Mar-2012 |
Marco Nelissen <marcone@google.com> |
Add gapless playback support for NuPlayer 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
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
c1e3ed15d86337361c11fc4bb425ae252eceb946 |
|
13-Mar-2012 |
Glenn Kasten <gkasten@google.com> |
Fix LOCAL_C_INCLUDES and correct #include syntax Change-Id: I522861043cc2ee905258a2ae409bf9dddbe452dc
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
8162c1a9f4df4bf4733e78f5b03398b2991ba79a |
|
02-Mar-2012 |
Jean-Michel Trivi <jmtrivi@google.com> |
Set channel mask when opening audio sink 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
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
813c1017a499d5fe7a9ee7f40aae845954a3ba55 |
|
09-Jan-2012 |
Glenn Kasten <gkasten@google.com> |
Use audio_stream_type_t consistently Change-Id: I0b3ba8ab74f03433d1e64cb898fa62c02535a2f1
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
8dcbd11c186e26b67de813adaec66dd578415cd7 |
|
04-Jan-2012 |
Glenn Kasten <gkasten@google.com> |
Use audio_format_t consistently Change-Id: Idb08c49fe1a2c87ea2bb080815a5a6f95409834c
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
43fcc396614a587851e2b7c4cea2876ec58b8648 |
|
02-Aug-2011 |
Chih-Chung Chang <chihchung@google.com> |
Use GL to render preview. To speed up the preview, we direct the decoder output to a SurfaceTexture, then draw the texture to a surface. The media rendering parameters (crop, black-border) are implemented using different vertex coordinates. The color effects are implemented using fragment shaders. Currently only three color effects are implemented, but that's all the appplication uses. Change-Id: If84439fee572ed37ea077749ef9f2bd4f78703e1
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
7efb8efc88ba529c1c57366a305855c2051ebb8b |
|
22-Jul-2011 |
Chih-Chung Chang <chihchung@google.com> |
Add YV12 color converter interface for VideoEditor. The original assumption in VideoEditor is that the decoder output and encoder input are in YV12 format. However on different hardware platform the actual formats may be different. So now we load a platform-specific YV12 color conversion module which knows the actual format and can convert to/from YV12, which is the format used in VideoEditor internally for processing. Bug: 5061733 Change-Id: I852f85efd30c05cf6c42810059ee4d2ef37ee3da
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
9969866cfe5b17c6e481b90d81b011a0cece78a0 |
|
30-Jun-2011 |
Chih-Chung Chang <chihchung@google.com> |
Make line-ending consistent (unix style). Change-Id: Id837b042952ff5d97907591f337b2222cff2c8a9
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
b5c7784c96a606890eb8a8b560153ef4a5d1a0d9 |
|
23-Jun-2011 |
Thomas Le Guevel <thomaslg@google.com> |
Fix for: 4676350 Do not use dual copyright declaration for video editor code Change-Id: I2856be051fa3b3ddfe67e096e45fb0b34beb92be
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
72e95e7ee6fe2892201575e7f7e4dd798fb225f6 |
|
02-Jun-2011 |
Glenn Kasten <gkasten@google.com> |
Revert "Use AudioTrack::event_type not int in callback" This reverts commit dd51bdc4cf4b7c9f09e7dc4116651c6681d5287c
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
984eae0d1715c2caa6da6cccb55b919db9da1da2 |
|
05-May-2011 |
Glenn Kasten <gkasten@google.com> |
Use AudioTrack::event_type not int in callback Change-Id: I09ff321f9457c0a9ee58e59bee38ed53799e494b
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
acb62af8ccf493b38decd91d94eb18395b6f9461 |
|
26-Apr-2011 |
Gloria Wang <gwang@google.com> |
Add setParameter/getParameter to MediaPlayer API for bug 1982947 Change-Id: Ic32704367bdcf2ade3f035a164927e95c69af7fa
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
6e2242974c109e85bac50550970fe84009c76f77 |
|
06-Apr-2011 |
Mathias Agopian <mathias@google.com> |
remove unused references to ISurface Change-Id: Ia11c5f46f38c0b00ca63d19d3484bf4024cdb75d
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
fa31daff175709d2c58d61d1354daa9495696631 |
|
19-Mar-2011 |
Raghavender Palla <rpalla@google.com> |
Fix for the issue: TestPreviewWithTransition fails (4133108) Change-Id: I53eb798f4f86e83f8a4668c7256241367c1ccbe4
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
4aeec63e25e1d1f55d55245d1c0ffd554f2a2f49 |
|
14-Feb-2011 |
Glenn Kasten <gkasten@google.com> |
Bug 3438258 surface textures This is sufficient to build, but is not a full implementation. See bug 3467199 for the real implementation. Change-Id: Ifc3325fa9b019669bffddfd7bfd10bce57d0a136
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
1c97d9ab52a288d24ea54499de435277cc1a3d68 |
|
22-Feb-2011 |
Rajneesh Chowdury <rajneeshc@google.com> |
Fix for 3369917 Audio skips at clip edit points Change-Id: Iba66585cc2e679475d8db529d6113586b58e626e
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
b2d6e0f74a12e5cce5b429e646172c63346346c3 |
|
17-Feb-2011 |
Santosh Madhava <smadhava@google.com> |
Fix for issue 3439595 : Movie studio playback previous frames Change-Id: I0f1a6cdfa40f6c8eebe989116e01ba8c212d5872
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|
643290dc4c83da23b1b8ff4ed71118203274bb15 |
|
17-Jan-2011 |
Dharmaray Kundargi <dharmaray@google.com> |
videoeditor preview code on honeycomb Change-Id: I9c3c9cb921ea697ab16732973d26ef9035cda2ee
/frameworks/av/libvideoeditor/lvpp/VideoEditorPlayer.h
|