864 Commits

Author SHA1 Message Date
Glenn Kasten
8d8557ad57 Remove virtual from methods that don't need it
Change-Id: I30e17e61aae25b036436c0e270313c80c43e5f06
2012-03-09 12:48:18 -08:00
Eric Laurent
d10a5992f9 Merge "audio policy: use audio_devices_t when appropriate" 2012-03-08 17:45:44 -08:00
Eric Laurent
c9ab9f5c2c audio policy: use audio_devices_t when appropriate
Change-Id: I1b3a5879e81c789fb53d356af3d3a1ee2dca955f
2012-03-08 15:57:09 -08:00
Glenn Kasten
ffed04ac3c IAudioFlingerClient::ioConfigChanged param2 const
The 3rd parameter (param2) to AudioFlingerClient::ioConfigChanged
is used as an input.  So changed it from void * to const void *.
It is then cast to const OutputDescriptor *
or const audio_stream_type_t * depending on the event.

Change-Id: Ieec0d284f139b74b3389b5ef69c7935a8e5650ee
2012-03-06 16:43:19 -08:00
Eric Laurent
54682583ba Merge "AudioTrack: relax check on minimum buffer size" 2012-03-06 10:52:18 -08:00
James Dong
b7fdddab0d Merge "Remove unused code - MediaSourceSplitter" 2012-03-06 10:23:58 -08:00
James Dong
5fe7057960 Remove unused code - MediaSourceSplitter
Change-Id: Icf37832a1c234501ee3ff91ff13eece2242425ae
2012-03-05 19:30:08 -08:00
Eric Laurent
bd6b74ce46 AudioTrack: relax check on minimum buffer size
Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.

Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.

Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f
2012-03-05 17:18:36 -08:00
Jean-Michel Trivi
b93a765ba6 Merge "Add channel mask in AudioSink" 2012-03-05 14:51:54 -08:00
Jean-Michel Trivi
4ed260feda Add channel mask in AudioSink
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
2012-03-02 17:26:49 -08:00
Glenn Kasten
92454de63c Merge "Fix typos and line length in AudioRecord comments" 2012-03-02 13:48:35 -08:00
John Grossman
720aa28279 Switch the way we configure for MediaPlayer retransmission.
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>
2012-03-01 14:41:35 -08:00
Andreas Huber
faf88b85e2 Merge "Instead of hardcoding OMX component names in our code, support" 2012-03-01 12:41:10 -08:00
Andreas Huber
3d3864fff4 Instead of hardcoding OMX component names in our code, support
a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
2012-03-01 11:30:10 -08:00
Eric Laurent
45d8c80dea renamed audio policy output flag.
Renamed AUDIO_POLICY_OUTPUT_FLAG_INDIRECT to AUDIO_POLICY_OUTPUT_FLAG_NONE
which is more appropriate.

Change-Id: Ia14d60397df0f2dcd9bea0186400a09da35bc104
2012-03-01 09:43:32 -08:00
Glenn Kasten
d67f2cf943 Merge "AudioRecord const methods" 2012-02-29 14:45:25 -08:00
Andreas Huber
0c9aa1b6fc Merge "Separate the notion of "stop" from that of "release", i.e." 2012-02-29 09:20:25 -08:00
Andreas Huber
4484bdd2f9 Separate the notion of "stop" from that of "release", i.e.
stop - means transition back to LOADED state and keeping the component
instance allocated.

release - means we get rid of the component completely.

Change-Id: I40ad01ce70821faaad43f57999249904f9144924
2012-02-28 15:54:51 -08:00
Glenn Kasten
bd714b6cbe AudioRecord const methods
Change-Id: Ifae4fd7820b650aaca2b13c8658c292db1c46c0f
2012-02-28 08:50:18 -08:00
Insun Kang
3008f0329b Moves TimedTextDriver.h into include/media/stagefright/timedtext.
So that other players can include TimedTextDriver.h properly.

Change-Id: I15e72bf655de8555eef6244a6c853c27a0828a1d
2012-02-27 17:14:28 +09:00
Mathias Agopian
af01feafc3 remove dependency on android_native{s_priv|buffer}.h
Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
2012-02-24 18:26:01 -08:00
Glenn Kasten
bd3db2f54e Fix typos and line length in AudioRecord comments
Change-Id: I85cfb9a2b9b3ade098161aa7687b4d4f7eb226ea
2012-02-24 13:00:45 -08:00
Andreas Huber
5c850396b3 Add new APIs AMessage::(set|find)Buffer to make it safer to pass
ABuffer objects through messages.

Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
2012-02-22 16:20:59 -08:00
Andreas Huber
88572f7a3e Implementation of a java media codec interface and associated tools.
Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
2012-02-22 15:06:06 -08:00
James Dong
f65934a721 Merge "Limit the amount of audio record data in each buffer" 2012-02-21 11:10:35 -08:00
John Grossman
d72031cee3 Upintegreate AAH TX and RX players from ICS_AAH
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>
2012-02-16 13:45:12 -08:00
John Grossman
d8cf2960d0 Upintegrate Audio Flinger changes from ICS_AAH
Bring in changes to audio flinger made to support timed audio tracks
and HW master volume control.

Change-Id: Ide52d48809bdbed13acf35fd59b24637e35064ae
Signed-off-by: John Grossman <johngro@google.com>
2012-02-16 13:45:11 -08:00
James Dong
745fcc0571 Limit the amount of audio record data in each buffer
o The size of each input buffer should be less than or equal to kMaxBufferSize
o related-to-bug: 5977032

Change-Id: I04343169aac3df56694aad4ba7967ec45337ad7e
2012-02-15 12:54:17 -08:00
Glenn Kasten
4f7adcf76a Merge "Update comments" 2012-02-14 09:42:32 -08:00
Glenn Kasten
b3db213eb5 Update comments
We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
2012-02-14 09:17:59 -08:00
Glenn Kasten
f4e1bdc13e Merge "Remove dead code AudioTrack::getLoop" 2012-02-14 09:09:03 -08:00
Glenn Kasten
6a20b26d99 AudioRecord and AudioTrack client tid
Inform AudioFlinger of the tid of the callback thread.

Change-Id: I670df92dd06749b057238b48ed1094b13aab720b
2012-02-14 07:30:48 -08:00
Jean-Michel Trivi
e901a5c29b Playback rate on MediaPlayer
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
2012-02-13 12:39:54 -08:00
James Dong
8e9d67a135 Move away from MediaDebug and use ADebug instead
Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
2012-02-10 11:43:09 -08:00
Glenn Kasten
6c9ddd2cbb Remove dead code AudioTrack::getLoop
Change-Id: I868329c52f31bc20125f068500d8f892b4ec9796
2012-02-08 14:12:12 -08:00
James Dong
e1a409ba68 Merge "Enable B frame support in MPEG4Writer" 2012-02-08 10:42:35 -08:00
Glenn Kasten
39d00cb442 Use audio_io_handle_t consistently instead of int
Other:
 - add a comment to nextUniqueId
 - made ThreadBase::mId const, since it is only assigned in constructor.

Change-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837
2012-02-08 10:06:32 -08:00
Glenn Kasten
6731333584 Effect UUID inputs passed by pointer are const
Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
2012-02-08 09:21:39 -08:00
Glenn Kasten
1e3a8d3090 Merge "Remove dead mutex in AudioTrack/AudioRecord thread" 2012-02-08 08:34:33 -08:00
Glenn Kasten
09b9ba0db2 Merge "AudioTrack declare more methods const" 2012-02-08 07:42:40 -08:00
Glenn Kasten
16d64ad699 Merge "Declare more IAudioFlinger methods const" 2012-02-08 07:39:27 -08:00
James Dong
7251673821 Enable B frame support in MPEG4Writer
This patch allows us to automatically detect whether ctts box is needed in MPEG4Writer.
MPEG4Writer uses ctts version 0 (non-negative offset value) store the composition time
offset on a needed basis.

Currently, the size of the ctts box is not optimized. Optimization will be addressed
in a subsequent patch.

o also changed the private method retrieveDecodingTime(bool) in OMXCodec
  to getDecodingTime()

o related-to-bug: 4232183

Change-Id: Ic6dc7b25ecd258c2506ca4b9c25156e922456e51
2012-02-07 18:32:29 -08:00
James Dong
f5a9f439b6 Don't call virtual function in destructor of SurfaceMediaSource
Change-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec
2012-02-06 12:17:44 -08:00
James Dong
cea2c396c5 Merge "Don't call virtual functions in the destructor for audio and camera source classes" 2012-02-04 05:54:54 -08:00
Glenn Kasten
7c2e37dd32 AudioTrack declare more methods const
Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
2012-02-03 15:48:25 -08:00
Glenn Kasten
3f6d83a68a Declare more IAudioFlinger methods const
This is just documentation, as C++ method const-ness doesn't mean anything
for a binder API.  Instead, here const means "no side effects".

Change-Id: Iaa9cd2fe477db10ae9a40cac4f79f0faa9b4e5e6
2012-02-03 15:40:56 -08:00
James Dong
4651c0ea80 Merge "Don't call virtual functions in destructors for the writer classes" 2012-02-03 15:37:40 -08:00
Glenn Kasten
f55bc56490 Merge "Use audio_in_acoustics_t consistently" 2012-02-03 08:31:01 -08:00
Glenn Kasten
191c849283 Merge "Use ToneGenerator::tone_type consistently" 2012-02-03 08:00:52 -08:00
Glenn Kasten
3694ec1f19 Use NULL not 0 for raw pointers
Use if (p != NULL) instead of if (ptr)

Change-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa
2012-02-03 07:57:01 -08:00