1944 Commits

Author SHA1 Message Date
Oliver Woodman
e64716ad01 Expose latency methods through AudioManager and AudioTrack.
There's a longer term plan to fix audio/video sync, but
this gets the Java level to parity with the native level,
and allows applications in Java to achieve sync in the
same way as the native media player. APIs are left as hidden
for now.

Bug: 9587132
Change-Id: Iaf70baac1ffb50ef48e03355163158568fbd0fe9
2013-07-01 22:30:18 +01:00
Scott Main
c06bb7f5b9 additional documentation for media codec info
Change-Id: I3b4e5baccab6da2dfc8dff8d03872bb5b346a4ad
2013-06-14 11:56:15 -07:00
Zhihai Xu
bcc6ae88f9 Merge "Let RemoteControlDisplay know more about playback position" into jb-mr2-dev 2013-06-11 19:38:59 +00:00
Marco Nelissen
ecba2e4b95 Unhide MediaExtractor.getPsshInfo()
b/9373882

Change-Id: I2af42656d6a7eb19e8e9ec798b615dab0d9d33cb
2013-06-10 15:06:28 -07:00
Jean-Michel Trivi
1b16cc3de5 Let RemoteControlDisplay know more about playback position
The BT stack needs to differentiate between applications that use
 the new RemoteControlClient APIs to pass a playback position but
 don't have one yet, and applications that use the legacy API and
 will never pass a position.

Bug 9294855

Change-Id: I05cba82a073e6e0aaea1d8bbf9cc8c99da715f58
2013-06-07 15:48:22 -07:00
Scott Main
1d154187a9 javadoc cleanup for audioeffect
Change-Id: I87917309d1da6529e16d72ad2b4ec9ce04d10569
2013-06-03 17:34:29 -07:00
Andreas Huber
d5f9fa574d Listen for HTTP proxy changes and propagate the information to the media
framework.

related-to-bug: 8873723

Change-Id: I2a34343f8006fa1b1448a1f047458fd58fe14fda
(cherry picked from commit bfe9154142428aa8abecaf943dfeffc55f411ea7)
2013-05-31 21:33:13 +00:00
ztenghui
4f0002e6de Merge "MediaMuxer sample code update, no functional change" into jb-mr2-dev 2013-05-31 18:05:43 +00:00
ztenghui
34a5b011cd MediaMuxer sample code update, no functional change
bug:9213533

Change-Id: I0d42ec58576d9fd797dba9c9c9f5ebed1170a818
2013-05-31 10:50:08 -07:00
Jeff Brown
636af7a1cb Merge "Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity." into jb-mr2-dev 2013-05-31 00:54:41 +00:00
Jeff Brown
14507e257a Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity.
Bug: 9210033
Change-Id: I973c03b3a37e12af72a27c46d7da7fb59a30b606
2013-05-30 14:44:18 -07:00
Jean-Michel Trivi
c1d47c50d6 Merge "Monitor device rotation" into jb-mr2-dev 2013-05-30 16:00:15 +00:00
Lajos Molnar
ecca7f60a6 android.media.MediaMuxer: remove SAMPLE_SYNC_FLAG
SAMPLE_SYNC_FLAG is not used by MediaMuxer; instead,
MediaCodec.BUFFER_FLAG_SYNC_FRAME is used, which has
the same value.

Remove this now, so that users will not have to translate
MediaCodec flags to MediaMuxer flags, even though MediaMuxer
takes in MediaCodec.BufferInfo objects to specify these flags.

Change-Id: I4b2f2039ca16debf4788a530a36bdd06d516f417
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9169479
2013-05-29 12:08:18 -07:00
Jean-Michel Trivi
bb6f8711a7 Monitor device rotation
If requested by ro.audio.monitorOrientation property, set orientation
 information as audio system parameter on configuration changes.

Bug 9095903

Change-Id: I669d4084eade3c14feb63f644bdd5b74fddc8857
2013-05-28 17:33:16 -07:00
Jeff Brown
56d4b744b3 Add route description API.
Bug: 8175766
Change-Id: I65dbc10fc04f9ff8f6abc1bda23fbf5baa227737
2013-05-16 14:41:30 -07:00
Jeff Brown
a27b8fb429 Add an API to determine if a route is connecting.
Bug: 8175766
Change-Id: I54d5f31d4e7d79c471c0e1bbc438cd8ebb4f8a1e
2013-05-09 21:56:42 -07:00
Jeff Brown
66f3b39ec4 Add an API to allow a callback to request active scans.
This API is needed by the support library media router to ensure
that wifi display routes can be discovered while the route
chooser dialog is open.

Bug: 8175766
Change-Id: I3773773d93384aa4a3c009e71a5444ee8ce37caf
2013-05-09 14:44:08 -07:00
Jeff Brown
77e59fef24 Fix bug managing wifi display routes.
We could sometimes crash due to some inconsistencies in the
way the wifi display routes were updates when connecting,
disconnecting or scanning wifi displays.

Bug: 8837094
Change-Id: I10c7ccb163ec33c4ea107dfcb5074741049fe955
2013-05-09 13:42:57 -07:00
Jeff Tinker
ea824eddbc Correct java API docs for MediaDrm offline use case
Documentation only change, no APIs are affected

Change-Id: I4f3978751928de503f51afa77e0983d4c385ff7b
related-to-bug: 8621588
2013-05-07 15:01:07 -07:00
Jeff Tinker
1d7c218ba2 MediaDrm API: Add two exceptions to handle error path scenarios
bug: 8725707
Change-Id: Ia00c495ac591cc2993f4d11ad3480b59833d009e
2013-04-30 12:39:04 -07:00
Jean-Michel Trivi
ea236f19e6 Merge "Identify in logs launch of voice search from key events" into jb-mr2-dev 2013-04-23 01:30:30 +00:00
Jean-Michel Trivi
fb0b6a8179 Merge "Opt-in mechanism for RemoteControlClient position anti-drift check" into jb-mr2-dev 2013-04-22 23:41:04 +00:00
Jean-Michel Trivi
c3c4babf84 Opt-in mechanism for RemoteControlClient position anti-drift check
RemoteControlClient has an interface for the framework to query
 the playback position. This mechanism is used to detect
 when the estimated position drifts from the real position by
 having the framework regularly poll (every 15s when playing at
 1x) this interface and compare against the estimation.
But this mechanism:
 - should only be used when IRemoteControlDisplay implementation
  care about position display
 - should not be used by default because the implementation of
  the position query interface might involve network traffic
  in some remote media player implementation for instance.

This CL implements an opt-in mechanism to be used by
 implementators of IRemoteControlDisplay, to request the
 anti-drift mechanism to be turned on.

bug 8120740

Change-Id: I1baa3e515546ac41e0ac9c3a41bfa3147ecf3d7f
2013-04-22 14:15:34 -07:00
Kenny Root
b5ec8c145d Change doc comment to match API change
API change in f0d4777473f25847d67fc17fc082fada08cf678d didn't update a
comment to match which caused doc build failures.

Bug: 8603279
Change-Id: I475dc569747ae5d34b4267537370f18446386bb9
2013-04-19 16:57:09 -07:00
Jean-Michel Trivi
924f1b962c Identify in logs launch of voice search from key events
Clearly identify in the logs when AudioService starts one of
 the following two intents in response to long-press on
 the KEYCODE_HEADSETHOOK key: ACTION_WEB_SEARCH and
 ACTION_VOICE_SEARCH_HANDS_FREE.

Bug 8095981

Change-Id: I14ca99533dfb011cdc530c0bafd8104ff2436c7d
2013-04-19 16:25:35 -07:00
Jeff Tinker
f0d4777473 Correct algorithm property name and clarify javadoc description of
device unique id property.

bug: 8603279
Change-Id: If56d568072b3c09e5f63901e285d0eaa3c77ff7a
2013-04-19 10:04:17 -07:00
Jean-Michel Trivi
91695a0cdc Merge "Anti-drift in RCC playback position" into jb-mr2-dev 2013-04-19 15:55:29 +00:00
Eric Laurent
56af4f212a Merge "AudioService: SCO audio backward compatibility" into jb-mr2-dev 2013-04-19 15:39:22 +00:00
Jean-Michel Trivi
521e68e76c Anti-drift in RCC playback position
Periodically verify that the reported playback position hasn't
 drifted from the estimated playback position.
If a drift is noticed, re-synchronize registered
 IRemoteControlDisplay implementations.

bug 8120740

Note that this implementation updates the playback position
 of  all IRemoteControlDisplay implementations,
 and always causes the OnGetPlaybackPositionListener to be
 called. This might be undesirable in some circumstances
 and will be addressed in a subsequent CL.

Change-Id: Ib9f40e1b000e912f6c35fa03e41adf81efadc894
2013-04-18 18:01:49 -07:00
Andreas Huber
ba9269a585 Add some documentation to MediaCodecInfo
Change-Id: Ia94cde04af37e46b5d4b9c171dc50112134042b8
related-to-bug: 8657165
2013-04-18 15:27:20 -07:00
Jeff Tinker
45d59a997f Merge "Make MediaDrm APIs public" into jb-mr2-dev 2013-04-18 16:08:37 +00:00
Eric Laurent
c18c9138ce AudioService: SCO audio backward compatibility
After commit 25fc29b3, AudioManager.startBluetoothSco()
does not use virtual voice call mode anymore when starting the
SCO audio connection to the headset.
To help backward compatibility, this change makes that virtual voice call
is used if the request comes from an application targeting a SDK version
before JB MR2. For applications targeted to JB MR2 and above a raw SCO
audio connection is established.

Bug 8157702

Change-Id: If1ded2fd99b7ed76d2435d95ee03659e78a7882a
2013-04-17 17:19:56 -07:00
Jeff Tinker
e1c76bebef Make MediaDrm APIs public
bug: 8603279

Change-Id: I9fab2673867ad413a084933cee7239d13e8b7893
2013-04-17 15:24:48 -07:00
Jean-Michel Trivi
05e7c2ff8c Fix message handling in RemoteControlClient
Internal message must go through the message queue, not be
  dispatched immediately.
Missing 'break' when handling MSG_SEEK_TO message.
  This was spamming the log with fake error messages.

Bug 8120740

Change-Id: Ib53ec05ef33133637e587eb1b24dac9ea32a5680
2013-04-16 16:14:38 -07:00
Jeff Tinker
7fa9667f63 Merge "Clarify how release of offline keys is handled in the MediaDrm API" into jb-mr2-dev 2013-04-15 20:11:18 +00:00
Scott Main
e63b0609c3 fix javadoc build
Change-Id: I9b86dda5aea075832d5e165043f45c8d507b5c16
2013-04-15 11:11:44 -07:00
Jean-Michel Trivi
74e56f1929 Merge "Public APIs for media position in RemoteControlClient" into jb-mr2-dev 2013-04-15 17:13:46 +00:00
Andreas Huber
2de0771da2 Merge "MediaExtractor.setDataSource(...) has always thrown IOExceptions from" into jb-mr2-dev 2013-04-15 15:16:27 +00:00
Jean-Michel Trivi
9157477300 Public APIs for media position in RemoteControlClient
New APIs in android.media.RemoteControlClient to support application
 exposing their current media playback position and speed, and
 let the framework request position changes.

Bug 8120740

Change-Id: Ibfc41f60e279413c26147e3276d96f28b7f506e7
2013-04-14 12:17:56 -07:00
Jeff Tinker
d8bbfc2750 Clarify how release of offline keys is handled in the MediaDrm API
bug: 8603820

Change-Id: Ifeda018fbbbb9905e62ee242da2ede1ed89868a2
2013-04-12 09:57:43 -07:00
Andreas Huber
7cd281c332 Document that MediaPlayer.getDuration() returns an invalid value (-1)
if no duration information was available.

Change-Id: If064627cca7915f4562b6d61bfd4ceb9a3c9390c
related-to-bug: 8596285
2013-04-11 11:09:06 -07:00
Andreas Huber
a57da0dc5a MediaExtractor.setDataSource(...) has always thrown IOExceptions from
within jni code, but failed to document this fact. No more.

Change-Id: If55980616e974637209dea2b7a28b2481b55cea4
related-to-bug: 8470755
2013-04-11 10:54:55 -07:00
Adam Powell
615e413a90 Make MediaRouter ignore remembered wifi displays when wifi display is off
Bug 8417329

Change-Id: Ica9bf1b250be4b72ba32e63d7eb1a6ff0b727961
2013-04-10 16:04:59 -07:00
Jean-Michel Trivi
8515256ad4 Merge "Handle seek requests in AudioService" into jb-mr2-dev 2013-04-10 16:29:18 +00:00
Jean-Michel Trivi
3fbf67e217 Handle seek requests in AudioService
AudioService handles seek requests to RemoteControlClients.
Discard old or unprocessed seek requests when handling a new one.
Update javadoc for OnPlaybackPositionUpdateListener interface.

bug 8120740

Change-Id: Id17c2852b24d4b8af85e472a177484b98cfeba05
2013-04-09 14:37:26 -07:00
Marco Nelissen
c4ad3cb07e Merge "Add support for common encryption" into jb-mr2-dev 2013-04-08 23:39:29 +00:00
Marco Nelissen
e20a6d5c47 Add support for common encryption
Change-Id: I2d56a6a90dff3ce1c37296934fca01b8a2ca0f89
2013-04-08 14:32:34 -07:00
Dianne Hackborn
bc94810104 Merge "Have audio service clean up new receivers in crashing processes." into jb-mr2-dev 2013-04-08 20:10:37 +00:00
Dianne Hackborn
79f7ec70eb Have audio service clean up new receivers in crashing processes.
The new media button receiver with only a pending intent (no
component name) could be left hanging if the process that
registered it went away.  These semantically need to be tied
to the calling process's lifetime; we now clean them up when
the calling process goes away.

Also added some additional cleanup of media button receivers
when packages change (updated, cleared).

And on top of that, a new "media" command for doing media
things.  Currently lets you send media keys and monitor
remote display data.

Oh and finally added a new BaseCommand base class for
implementing these command line utilities.

Change-Id: Iba1d56f10bab1eec4a94a7bb1d1c2ae614c8bcf5
2013-04-08 13:08:37 -07:00
ztenghui
50b9eb1c73 Merge "Update the documentiation for MediaMuxer::writeSampleData()" into jb-mr2-dev 2013-04-08 17:22:29 +00:00