93 Commits

Author SHA1 Message Date
Bernhard Rosenkränzer
4048a4bcb1 Remove unused variables and functions, don't warn about unused parameters
Remove unused variables and static functions clang complains about,
disable warnings about unused parameters (needed for clang and for gcc
with -Wextra enabled)

Change-Id: I76a22cd0158b3c7375c54e3d4d15bc1ac448591e
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-23 22:24:32 +01:00
Robert Shih
c42a96dba4 MediaPlayer: scanInternalSubtitleTracks in synchronous prepare
Bug: 16385674
Change-Id: I56d205ad2fe33bd64ea2251440c88fd4ecfa13ad
2014-07-29 11:55:46 -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
Ruben Brunk
b6079005ed camera2: Move DngCreator to hardware/camera2.
Bug: 15091253
Change-Id: Ibe2ee376436e5c796e33c0b782ea68278589f2e6
2014-05-22 22:57:11 +00:00
Ruben Brunk
f967a5486a camera2: Plumb DngCreator to native library.
Change-Id: Ic58bf6cf5086808b503460ef8e451fc0d6f1f850
2014-05-16 23:25:51 -07:00
Selim Gurun
5ba69bef8c Fix build
Fix the java reflection to have the devices boot again.

Change-Id: Ibd24b1e43e5c8385aa9372f8e22133b6eb85cd2b
2014-05-07 15:04:40 -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
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
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
Oscar Rydhé
e795ec73eb Add NULL check in updateProxyConfig
If the exclusionList was null in updateProxyConfig the VM would
crash when converting it to a UTF8 string. Avoid this by adding a
null check.

Change-Id: I0d8106fd54385bd9ae9c652a6c67d459a119cf2b
2013-12-19 09:38:59 +09:00
The Android Open Source Project
dbccd44a63 Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-11-22 11:18:57 -08:00
Elliott Hughes
99f752149b Fix a JNI local reference leak in JNIMediaPlayerListener::notify.
Bug: https://code.google.com/p/android/issues/detail?id=62137
Change-Id: I776cd83a66de37fdbbe8af367bf1b26e5e0c7247
2013-11-13 15:10:40 -08:00
Ruben Brunk
87eac99a21 Remove dependency on JNIHelp header side effects.
Bug: 10680559
Change-Id: I47870d6c48906e0a420c52b7bc5945ffe29c68a2
2013-09-10 20:47:43 -07:00
Zhijun He
212e78df9e ImageReader: Implementation of ImageReader and Image APIs
Used for direct image data access from producer like camera or video decoder.

Bug: 9254294
Change-Id: I1853af03f4487ac3585d86202f6140854471fa89
2013-06-26 15:56: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
Jeff Tinker
8a0c80fdcc Implementing MediaDrm APIs
Change-Id: Ib6eeb9c04c5c5cf1d485f9004cd3e6a1047a1d19
2013-03-13 13:40:56 -07:00
ztenghui
68ccf103a1 Java API for MediaMuxer
Implement the Java API for MediaMuxer.

bug:7991013

Change-Id: Ibf3aa256cc1d89f1c7636b74c9fb53073d173636
2013-03-11 12:30:56 -07:00
Mathias Agopian
b1d90c8f60 fix JNI use of incStrong/decStrong
Change-Id: Ia11b404dea483dc19bbc30f4d7bcff516655e180
2013-03-06 17:48:20 -08:00
Mathias Agopian
5280061794 Refactoring: Rename SurfaceTextureClient to Surface
Change-Id: I5a218ca11abeeec05e3a4c3cfc581bcc788814ea
2013-02-15 12:47:40 -08:00
Andy McFadden
d47f7d8b5f Rename ISurfaceTexture and SurfaceTexture
The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: I08e677faf2ebb418ef131d0a8008e01037db0e50
2012-12-18 11:22:21 -08:00
James Dong
097922b9c1 Throw an exception instead of crash when a surface does not have a binding surface texture
o related-to-bug: 7270329

Change-Id: I498d72187968e89d9498d01b10719569e12be2af
2012-10-04 09:16:40 -07:00
Jeff Brown
64a55af0ac Add plumbing for new surface flinger display API.
Cleaned up the implementation of Surface and SurfaceSession
to use more consistent naming and structure.

Added JNI for all of the new surface flinger display API calls.

Enforced the requirement that all Surfaces created by
the window manager be named.

Updated the display manager service to use the new methods.

Change-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2
2012-08-27 14:34:54 -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
Insun Kang
8902097bb6 Improve notifying TimedText by reducing marshall/unmarshalling.
o Removes mParcel from TimedText class.
o Converts native parcel into java parcel object directly without
copying to an intermediate byte array.
o JNIMediaPlayerListener::notify checks for Java exceptions, logs them,
and clears the exception state.

related-to-bug: 6405934

Change-Id: I8b82d3cd5b9b3ef8cad27e805202a0e445a88a45
2012-05-09 20:14:09 +09:00
James Dong
e00b6f3a57 Fix failure from setDataSource(String path) when path is a local file
o the failure was because the mediaserver does not have read permission to sdcard
o related-to-bug: 6325960,6322913

Change-Id: I4feec01b8165c78563eee8aab69cb24df3244d03
2012-04-12 11:50:17 -07:00
Andreas Huber
8240d9239d New Crypto JAVA class to facilitate decryption via MediaCodec.
Change-Id: Ic4e395faa84f003793c2804f2badabab9e7f1034
related-to-bug: 6275919
2012-04-04 14:06:32 -07:00
Andreas Huber
5a04bf3955 New API to query available codecs and their capabilities.
Change-Id: I448ba443a96d8fee2bc9179750d57362ed31d9d9
2012-04-02 15:43:42 -07:00
Marco Nelissen
84b8320545 Gapless playback, step 1.
Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.

Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
2012-03-13 13:13:14 -07:00
Jeff Sharkey
d84e1ce0b5 Split Parcel JNI details away from Binder.
This is purely a refactoring, with no change to the underlying
functionality.

Change-Id: I41b59f14e57d1cc144274a01f77658d99a1bfe02
2012-03-08 16:06:30 -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
Mathias Agopian
8335f1cccc fix libgui header location
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
2012-02-27 13:03:08 -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
Glenn Kasten
bc1d77b6cb Use audio_stream_type_t consistently
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
2012-01-13 10:20:14 -08:00
Steve Block
3762c31172 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-08 13:19:13 +00:00
Steve Block
8564c8da81 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2012-01-06 10:07:54 +00:00
Steve Block
71f2cf116a Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
2011-10-26 09:57:54 +01:00
Jamie Gennis
f76afc80d2 MediaPlayer: properly handle released surfaces
Bug: 5396571
Change-Id: I6af87cb04f09f9ae6ea77cd7ba31108a3e93d24a
2011-10-14 19:55:12 -07:00
Marco Nelissen
8dc208476f Log a warning when a MediaPlayer is finalized without having being released.
b/5382634

Change-Id: I756d09d16a92ab8ce736c16a24e319a87be6c8de
2011-09-28 09:21:11 -07:00
Gloria Wang
e828beb386 If media player has died already, do not dec the old surface texture reference.
Otherwise segfault will occur.
For bug 5327664.

Change-Id: I03ea7bc047aa99a106f1e010dac74f75a833ef84
2011-09-15 15:36:02 -07:00
Gloria Wang
d59310d086 Do not need to reset surface as NULL in MediaPlayer's _release.
Related to bug 5252296.

Change-Id: Ieab063cee70e072fcc4d861abe0f7979a7bab1ec
2011-09-14 14:24:27 -07:00
Dave Burke
fc301b0bb5 Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
2011-09-02 11:26:59 +01:00
James Dong
43ef913815 If release has been called before finalize, do not expect MediaPlayer still exists
o also, we should releae the surface object when release is called, not wait until finalize is called.

related-to-bug: 5157956

Change-Id: I0233ad61d8349c3e3800de68b752b9548ece1742
2011-08-12 16:39:47 -07:00
Ted Bonkenburg
1ee60119c4 Remove ParcelSurfaceTexture and update MediaPlayer
This removes the ParcelSurfaceTexture class since that functionality has been
folded into Surface.java. The change also updates the MediaPlayer to get rid
of setParcelSurfaceTexture() and modifies setTexture() to use the new Surface
functionality in order to simplify the code.

Change-Id: Iafa75ea3188263928128325d8a726786971b4de4
2011-08-11 19:58:25 -07:00
Gloria Wang
91784c996f To support for switching from a non-null surface/ surface texture to
a null one, and vice versa.
Fix for bug 5137445.

Change-Id: Ifca2997f8ad27a843abbdaa7e89a56329bc40fde
2011-08-09 15:31:30 -07:00
tedbo
cc5278a3e2 Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.
This adds support for setting a SurfaceTexture as the MediaPlayer video
sink by using a ParcelSurfaceTexture object. The goal is to enable a
SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then
be set on the MediaPlayer.

Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
2011-06-13 14:27:39 -07:00
James Dong
79f407cc6c Refactor to share code between MediaPlayer and MediaMetadataRetriever JNI
Change-Id: Ib847213f566dee79126d7c14d00750a9a8dedeb9
2011-05-05 15:11:23 -07:00
James Dong
17524dc0d2 Clean up JNI code
o Move the Set/Map/Iterator calls from JNI to Java
o The JNI function receives arrays instead of Maps
o Removed Set/Iterator calls from the Java code as suggested

Change-Id: I34068bf24b61abaf2833dad1f65abc733ed760dd
2011-05-05 11:20:55 -07:00
Gloria Wang
d01ec6eab0 Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
2011-04-29 10:24:03 -07:00