6882 Commits

Author SHA1 Message Date
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
48f2b548ed Merge "MediaDrm API: Add two exceptions to handle error path scenarios" into jb-mr2-dev 2013-05-01 22:01:16 +00:00
Mike J. Chen
2f4cc8eacf Merge "Fix a crash case" into jb-mr2-dev 2013-05-01 20:59:12 +00: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
Nick Kralevich
25619b2c6b libdrm: fix bad strncpy / snprintf calls
Fix the following bugs reported by IOActive:
* GOOGLE-AN01 - Android libdrm drm_parseDM.c Boundary-CRLF Buffer Overflow
* GOOGLE-AN02 - Android libdrm 'drm_parseDM.c' contentType-CRLF Buffer Overflow
* GOOGLE-AN03 - Android libdrm drm_parseDM.c contentID-CRLF Buffer Overflow
* GOOGLE-AN04 - Android libdrm 'parser_dcf.c' Multiple Headers Buffer Overflow
* GOOGLE-AN05 - Android libdrm 'parser_dcf.c' ContentType Buffer Overflow

Bug: 8727221
Change-Id: If386922e907567f54e26897beffaa1cfe4777896
2013-04-29 10:49:47 -07:00
Mike J. Chen
67a1218477 Fix a crash case
There's a runtime check for a bad argument, but it is
after the usage of the bad argument.  Move the usage
after the check.

Bug 8687716

Change-Id: Iddfa457951bac69b436a430cda21b5d7a563107b
Signed-off-by: Mike J. Chen <mjchen@google.com>
2013-04-26 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
Andreas Huber
6ead6ccac9 Merge "Add some documentation to MediaCodecInfo" into jb-mr2-dev 2013-04-19 15:34:15 +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
Jeff Tinker
c884a08e8c Merge "Improve error handling for DRM errors reported by plugins" into jb-mr2-dev 2013-04-18 23:18:46 +00: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
f7568b5ee9 Improve error handling for DRM errors reported by plugins
Change-Id: I25df78f16379b32c54189949daa3ab9c91187375
related-to-bug: 8621516
2013-04-17 16:46:49 -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
Ying Wang
d685894212 Add liblog
Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
2013-04-09 21:54:12 -07: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
Eric Laurent
e8d9d2b335 Merge "AudioService: do not use virtual call for bt sco" into jb-mr2-dev 2013-04-05 22:14:13 +00:00
Eric Laurent
25fc29b369 AudioService: do not use virtual call for bt sco
Do not use startScoUsingVirtualVoiceCall() BluetoothHeadset
API to connect SCO audio. This will cause headsets to act as if an incoming
call was received which is not what we want for voice commands.

Bug 8157702

Change-Id: I271909d4d1f3822758740a8484e3d2d8b4f34c00
2013-04-05 14:27:13 -07:00
Glenn Kasten
564c866bdf Merge "Fix AudioTrack.setPlaybackRate() error handling" into jb-mr2-dev 2013-04-05 15:45:15 +00:00
Jeff Tinker
1e0f36cffd Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev 2013-04-05 01:16:23 +00:00
Glenn Kasten
f19395db63 Fix AudioTrack.setPlaybackRate() error handling
CTS expects that setPlaybackRate() returns an error for a static buffer
AudioTrack that has not yet had any data written to the buffer.

Bug: 8181114
Change-Id: I17ba039368468f6ccd1eec5322018bfe420c09c8
2013-04-03 17:14:14 -07:00
Jean-Michel Trivi
6a5702041f Merge "RemoteControlClient receives playback position change requests" into jb-mr2-dev 2013-04-03 21:11:12 +00:00
ztenghui
f7d3aae328 Update the documentiation for MediaMuxer::writeSampleData()
Change-Id: I7a5591c7b14728c1833e6401dcd8f0272c4ee56c
2013-04-03 13:31:41 -07:00
Jeff Tinker
54cfbd6dc2 Implement async event callout from drm plugin to Java app
Change-Id: I451b7c6f766aafac39ce432a71ef5a03bffe29f1
2013-04-03 12:01:59 -07:00
Jeff Tinker
5c0ce512c5 Merge "MediaDrm API update" into jb-mr2-dev 2013-04-02 22:49:19 +00:00
Jean-Michel Trivi
c3c7b92a81 Merge "Clean up role of component name in media button event receiver" into jb-mr2-dev 2013-04-02 15:54:11 +00:00