Commit Graph

143 Commits

Author SHA1 Message Date
Ying Wang
546f3bf5fe Fix docs build.
Change-Id: I735f5b5a3fe36a454e384d5060d9273a9aabf3aa
2014-07-29 16:23:15 -07:00
Robert Shih
05ad96e9a3 Merge "MediaPlayer: scanInternalSubtitleTracks in synchronous prepare" into lmp-dev 2014-07-28 22:45:16 +00:00
Robert Shih
c42a96dba4 MediaPlayer: scanInternalSubtitleTracks in synchronous prepare
Bug: 16385674
Change-Id: I56d205ad2fe33bd64ea2251440c88fd4ecfa13ad
2014-07-29 11:55:46 -07:00
Robert Shih
3cdf7c5b62 MediaPlayer: support external timed text in java
Bug: 16385674
Change-Id: I7c2bf7a7d88c8396c3e228e3cf500998a3fa9db8
2014-07-29 14:00:13 -07:00
Jean-Michel Trivi
e9111d3067 Merge "API for audio session ID generation" into lmp-dev 2014-07-19 22:40:06 +00:00
Jean-Michel Trivi
289cc8e887 API for audio session ID generation
Expose the value used by the framework to generate an audio
 session ID when a value isn't known.
Rename allocateAudioSessionId() to generateAudioSessionId()
 as this operation doesn't "allocate" anything, and there is
 no allocated resource to free after this operation.

Bug 16401631

Change-Id: I7a7bc05b39ea0b024ff225254eb755a9c85a2ad9
2014-07-20 11:25:48 -07:00
John Spurlock
7b41467704 Zen mode filtering should use new usage constants.
Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
2014-07-19 11:57:51 -04:00
Jean-Michel Trivi
d70ad7a128 MediaPlayer factory method with audio attributes and session ID
Change-Id: I4e7f633c84c90581e849af2865f5be84a026f32f
2014-07-16 18:36:20 +00:00
Jean-Michel Trivi
79f5cd1429 Unhide MediaPlayer.setAudioAttributes(), javadoc clarifications
Unhide MediaPlayer.setAudioAttributes() method.

Update javadoc to explicitly state that the factory methods
  do not let you set the audio stream type, attributes or session.

Change-Id: I0d097c314db010698b035349befe0659ab4d1dde
2014-07-16 14:41:06 +00:00
Robert Shih
bef45561b0 Merge "MediaPlayer: added getSelectedTrack" 2014-07-10 20:49:26 +00:00
Robert Shih
464da703ca MediaPlayer: added getSelectedTrack
Change-Id: Ic39b9b3d5e72e13452320a0272deb489a0285913
2014-07-10 20:32:37 -07:00
Jean-Michel Trivi
8df982dfa5 Java MediaPlayer: add support for setting audio attributes
Change-Id: Ia638107a5e67c20c46c2f5f1800db9da57d6f698
2014-07-01 16:45:29 +00:00
Chong Zhang
7026020398 don't select default track if subtitle controller is not present
subtitle controller won't be there if app is not using VideoView.

Bug: 15470448
Change-Id: If6724928220a8906bd2199ebc0916a4493092abb
2014-06-24 10:56:53 -07:00
Robert Shih
38c209b938 Move SubtitleData processing to SubtitleTrack
Change-Id: Ia338a7a1b51e449d0ab6df9933ea0efcc2d12849
2014-06-17 16:12:14 -07:00
Chong Zhang
bdfd910247 support for CEA-608 closed caption
Bug: 15470448
Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
2014-06-11 17:57:23 -07:00
Chong Zhang
079fa9683d change onData() to take byte array of raw data
conversion to UTF-8 if necessary will be handled by the renderer.

Bug: 15470448
Change-Id: I6d4a5e29e6af07f5c031197ea424f8f8e53cd05b
2014-06-11 16:35:46 -07:00
John Spurlock
1af30c7ac4 Add stream-level suppression to vibrate/audio services.
- Add new audio restriction layer to app-ops.  Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled.  Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
2014-03-19 15:32:51 -04:00
Lajos Molnar
7246fa5610 MediaPlayer: fix int overflow issue in MediaTimeProvider
Bug: 13394783
Change-Id: I228ded5cf198852fda867d136cd8b1aacd8b6584
2014-03-10 17:23:45 -07:00
Andreas Huber
f8a0c47e90 Remove no longer needed http proxy handling code, it's obsolete now
since we started to use java's HTTPConnection instead of the native
implementation.

Change-Id: I32b08480593a859e0368dbbcf8da8f25c9e08ca9
2014-02-05 11:53:40 -08:00
Andreas Huber
d2506a5063 FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code
Change-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8
2014-02-04 14:45:28 -08:00
Narayan Kamath
6bb5cb24b4 Resolved conflicts for merge of 28c6ec02 to master
Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
2014-01-16 15:49:59 +00:00
Ashok Bhat
075e9a19ce AArch64: Use long for pointers in media classes
For storing pointers, long is used in media classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Idc4ca0124d03df7f9cef412488abafd020e5e774
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-15 13:09:27 +00:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Lajos Molnar
4de8e7c1a5 MediaPlayer: MTP: update state only based on source events
State only depends on events from the MediaPlayer (this includes
the pseudo-event from MTP recovery mechanism.)

Change-Id: Idd62a773d2386ad6bfbfe417412c2e2ff09b3600
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11412881
2013-10-28 09:19:26 -07:00
Lajos Molnar
d58b122208 Fix MediaTimeProvider seek & time drift recovery issue
Handle MEDIA_SKIPPED event

Prevent notifyTimedEvent events (REFRESH_AND_/NOTIFY_TIME)
to eclipse NOTIFY_SEEK events.

Add automatic seek when time drifts too much.  This should
not happen under normal circumstances, but is there to recover
from any unannounced media time discontinuity.

Change-Id: I8d7fdac2b0b6a9e62d2860461e6a25788e77fef8
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10954008
2013-09-30 15:50:31 -07:00
Lajos Molnar
29f5183794 Make SubtitleController thread safe
Add the concept of an anchor looper.
Allow show/hide/selectTrack/selectDefaultTrack to be called from thread
other than anchor looper.

Change-Id: Iaf2f3d3c46d1b00a0a24156745ec16b301c80c04
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10919206
2013-09-27 14:55:36 -07:00
Lajos Molnar
d486f9656a Add CaptioningManager listener Subtitle support.
Update default track selection based on settings change.
Implement HLS track selection scheme.
This requires synchronization for subtitletrack and controller.

Change-Id: I8295956d264ab2016a83957ace37d9d7b1acde4c
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-17 10:09:18 -07:00
Lajos Molnar
9d48089595 Fix CalledFromWrongThreadException in MediaPlayer's subtitle support
Call selectTrack/setSubtitleWidget only from MP's looper or the
applications's event thread, which is the same for now (we only
support subtitles in VideoView.)

Change-Id: Ic1de923b801f28657f37e0330b95c321931a6960
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10691837
Bug: 10326117
2013-09-12 15:35:31 -07:00
Chong Zhang
f8ca13b7a0 Pass subtitle track properties to SubtitleController
Bug: 10326117
Change-Id: I387406adf3e1bd835b031dd5fbd2e1cdeaf2fe87
2013-09-11 15:02:47 -07:00
Lajos Molnar
a67a4439ca MediaPlayer.MTP: fix issue when main thread had no looper
We fall back to using the application's main looper similarly to MP,
and even create our own looper if MP was created outside of an
application context.  Always creating our own looper is a waste
of resources.

Also resolved issue with MP.reset() when created outside of an
application context, and removed MP.MTP's unused getHandler().

Change-Id: I9c3b8a2f05a9e231ae9c008bc1a48d6b991cec1d
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10634238
2013-09-06 08:53:20 -07:00
Lajos Molnar
484ff7a922 Add subtitle support to VideoView.
Change-Id: Ibfde491a624272c4f9733098529ad70c6aa93fe0
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-03 23:33:05 -07:00
Lajos Molnar
3d99856f80 Add MediaTimeProvider to MediaPlayer
Change-Id: Ie56331ef4eb4bdffa606598f241edb1cb2c2e2dc
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-03 19:23:25 -07:00
Lajos Molnar
af30982435 VideoView: add addSubtitleSource
A way to add external subtitle file to VideoView.

Change-Id: Ic110238408550a5b4088851bc5da5e94eb58d831
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-08-30 14:59:46 -07:00
Chong Zhang
83ddaf664c MediaPlayer: add listener for subtitle data
Bug: 10326117

Change-Id: I8fbd54df70e37a061c7c875743ded09f1922ef8f
2013-08-16 14:38:48 -07:00
Lajos Molnar
1c56a67dbb MediaPlayer.TrackInfo: add getFormat() method
This returns the MediaFormat of the track or null (for now).

Change-Id: Ib88fc229b661942b2ed136204fdc43da427d7aed
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-08-15 12:35:14 -07:00
Marco Nelissen
2d2cd32cc7 Make MediaPlayer.invoke() public-and-hidden again
It's used in a bunch of other places in other repos that I don't
want to touch.

Change-Id: I6f2ec6f8066286de9b52499fc71f3f08953c3cb4
2013-06-14 09:47:27 -07:00
Marco Nelissen
3e72eb5245 Remove unused MediaPlayer methods
Change-Id: Id63fdde7d0e4f096d3bb9eb4da5e0f37eb9dea21
2013-06-13 15:25:25 -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
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
kmccormick
be1339edc4 am 328f7b71: am 90fa2ae2: am 23b55e78: am 3fab60bd: am 183c95e0: Merge "Doc update: PlaybackCompleted valid state 4 pause" into jb-mr1.1-docs
* commit '328f7b7160d4c5a30c6810cbcd4aa01bb7b57dda':
  Doc update: PlaybackCompleted valid state 4 pause
2013-03-29 16:04:09 -07:00
kmccormick
b04c07fb9b Doc update: PlaybackCompleted valid state 4 pause
"Bug: 7962402"

Change-Id: Ie41d7085373794e98208d8815010b3ca1d81378c
2013-03-29 15:50:03 -07:00
Jeff Sharkey
c058a380de Open file:// Uris on client side of MediaPlayer.
Bug: 7962739
Change-Id: I674b437593fa083eb66ff3ca57b898cf9bd4a3e9
2013-02-19 15:10:41 -08:00
Glenn Kasten
068225de01 Add all-channel setVolume() API
Add combined channel APIs setVolume to AudioTrack, MediaPlayer, and
SoundPool to make later migration easier, and encourage apps to use
that API.  The new APIs are @hide for now.

Change-Id: I0c87bfdbff4f4292259fa33e65f67badbafd270b
2012-11-08 17:50:43 -08:00
James Dong
2adac496a8 Added some common error codes in MediaPlayer.java
o related-to-bug: 6770717

Change-Id: Iea8ba6943755a9af8df5b6e91284c7c1b32c3c6c
2012-08-26 14:15:57 -07:00
James Dong
b10ec1f4b1 Fix a typo (dependant => dependent)
Change-Id: I0337bec1a26e852c32ea9f1ce54f270f79ee3ab1
2012-07-30 15:45:50 -07:00
Jeff Smith
ddd88726a2 am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214
* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
  Fix several cases of broken droiddoc syntax external issue 35214
2012-07-25 15:05:23 -07:00
Jeff Smith
a45746efad Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
2012-07-25 10:49:25 -07:00
James Dong
15a89e6b48 Added MEDIA_INFO_VIDEO_RENDERING_START as an informational event
o MEDIA_INFO_VIDEO_RENDERING_START indicates that the player just pushed the very first video frame
  of a video source for rendering.

Change-Id: I32dad93990f5d48b70fc79d841ca3ce3b1af4027
related-to-bug: 6851811
2012-07-23 15:47:27 -07:00
Insun Kang
333c09945e Changed to obtain a parcel in each notify() call in jni.
Change-Id: I5faf0f5d1fdf76a5b4bd1cff37aa58df79d18e85
related-to-bug: 6785452
2012-07-10 22:23:01 +09:00
Scott Main
099fd80f98 docs: add throws notice for isPlaying
per external issue 33610

Change-Id: Ibd778cb4ecc5f1717fa007ac069a7b3660ec4794
2012-07-03 17:32:23 -07:00