| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This cherry picks https://googleplex-android-review.git.corp.google.com/#/c/643541/ to master.
Bug: 19448263
Change-Id: I43dea830212de79c2b080185b6c6b36078f517d2
|
|
|
|
|
|
| |
Bug: 19196501
Change-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050
|
|\
| |
| |
| | |
Change-Id: I385371869169eee4fe6330ffe0abc5eda4cb4f72
|
| |
| |
| |
| |
| |
| |
| | |
and make SoundPool use MediaCodec for decoding files to PCM.
Bug: 18239054
Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
|
|\ \
| |/
| |
| |
| | |
* commit 'cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f':
Replace MidiFile player with a Midi extractor
|
| |
| |
| |
| |
| |
| |
| | |
This gets rids of a bunch of special midi handling and replaces it
with an extractor that works with NuPlayer and MediaMetadataRetriever.
Change-Id: I8d0f5bbdde2ca24267cf4d62ab26afe9630e0217
|
|/
|
|
|
| |
Bug:18120688
Change-Id: Ia66dcfc3fd2d67d1ceba9808d21e0120cc8691d6
|
|
|
|
|
| |
Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
|
|
|
|
|
|
|
|
| |
since we started to use java's HTTPConnection instead of the native
implementation. Also remove other remnants of the previous http implementation,
such as accounting for the http user's uid.
Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
|
|
|
|
|
|
| |
to media code
Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b
related-to-bug: 8873723
(cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
|
|
|
|
|
|
|
|
|
|
| |
Relocate the AAH RTP code from framework/av into
vendor/google_devices/phantasm. This change is the deletion, there
will be a separate CL which re-introduces on the vendor side of
things.
Change-Id: Ibe7e6d4b633a3886b87a615691a2692f2382af6c
Signed-off-by: John Grossman <johngro@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the ability to dynamically register low level MediaPlayer
factories which will be probed at setDataSource time to determine the
proper MediaPlayerBase to instantiate.
This change is in preparation for moving libaah_rtp out of
frameworks/base and into phantasm platform directory.
Change-Id: Icf8904db3ab9e3c85df6e780d5546d9988cb9076
Signed-off-by: John Grossman <johngro@google.com>
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.
Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for specifying a channel mask when opening an AudioSink.
This parameter does not replace the channel count parameter in order
to not have to duplicate the logic to derive a mask from the
channel count everywhere an AudioSink is used without a known mask.
A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will
be automatically derived from the number of channels.
Update existing AudioSink implementations to use the channel mask,
and users of AudioSink to specify the mask if available, and
CHANNEL_MASK_USE_CHANNEL_ORDER otherwise.
Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
with merge conflicts addressed by hand and additional changes made in
response to code review feedback.
Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.
This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.
Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98
Signed-off-by: John Grossman <johngro@google.com>
|
|
|
|
|
|
|
|
| |
Upintegrate the android at home TX and RX players developed in the
ICS_AAH branch.
Change-Id: I8247d3702e30d8b0e215b31a92675d8ab28dccbb
Signed-off-by: John Grossman <johngro@google.com>
|
|
|
|
|
|
|
|
|
| |
Add support for modifying the playback rate of a MediaPlayer
by altering the sample rate of its AudioTrack.
The playback rate is expressed in permille, where 1000 is the
playback at normal speed.
Change-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed
|
|
|
|
|
|
|
|
|
| |
At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t. Java is still int. Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.
Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
|
|
|
|
|
|
|
|
| |
Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield.
Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by
AUDIO_FORMAT_PCM_16_BIT.
Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
|
|
|
|
|
|
| |
All surfaces are now supported through surface textures.
Change-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6
|
|
|
|
|
| |
Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067
related-to-bug: 4517282
|
|
|
|
| |
Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
|
|
|
|
|
|
| |
for bug 1982947
Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
|
|
|
|
|
| |
Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
|
|
|
|
|
|
|
|
| |
through listener during video playback.
- Add OnTimedTextListener in the MediaPlayer
For feature request 800939.
Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
|
|
|
|
| |
Change-Id: I542806b5c91c525ed7cde821f6963f1e020ddf1a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.
This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)
Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
|
|
|
|
|
|
|
|
| |
This avoids the race condition where notifications are dispatched to a NULL receiver
after notifications have been disabled.
Change-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a
related-to-bug: 3394139
|
|
|
|
| |
Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
|
|
|
|
| |
Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
|
|
|
|
| |
Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c'
* commit '4f21e517d09b9d793d20d64547df330fba705b3c':
Added getter for session Id to AudioSink
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
VorbisMetadataRetriever as this functionality is now provided by stagefright.
Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
|
|
|
|
| |
related-to-bug: 2231576
|
| |
|
|
|
|
| |
related-to-bug: 2359268
|
|
|
|
|
|
|
|
| |
headers when specifying the uri of media data to be played.
related-to-bug: 2393577
Original change by Andrei Popescu <andreip@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.
Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.
Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.
Removed excessive log in AudioHardwareGeneric.
|