92 Commits

Author SHA1 Message Date
Zhijun He
916d8ac650 ImageReader/Writer: add usage flag support
Also add an ImageWriter ctor to take additional arugment (format)

Test: ImageReader and Writer CTS tests
Bug: 32766711
Change-Id: I99e3862dd5b9a85c9df7879c14c84b68a35718ec
2017-04-10 23:38:32 +00:00
Ray Essick
ed5b028693 Move MediaMetrics into its own library
Changes for the new HAL structure have brought about a build time
circular dependency between libmedia and libmediadrm. This set of
changes the media metrics code into its own library and arranges
for the relevant consumers of the media metrics code to link
to this new library (where they had previously picked it up by
including libmedia).

Bug: 36990807
Test: build, boot.
2017-04-05 14:01:00 -07:00
Mikhail Naganov
c276c59eb5 nativemidi: Prototype demonstrating native access to IMidiDeviceServer
Framework changes and a demo app
Comment and finalized Native MIDI API
Replaced fixed PortRegistry tables with std::map.
more error handling.
Removed not-very-useful MidiDeviceManager class.
Made Java API functions @hide.

Bug: 30252756

Test: Manual
Change-Id: Iae98e589f38ef6d625ff0842401193fe98c5d881
2017-03-03 12:00:33 -07:00
Chong Zhang
d5927ae883 MediaCas: add framework APIs
Java API changes to support MediaCas framework.

Also add partial-frame related enums to MediaCodec,
MediaCodecInfo, and MediaExtractor as a way to indicate
a input frame contains partial data.

Test: basic test app and test plugin to execise the code path;
impelenting playback of CAS-secured MPEG2TS streams, including
a Widevine-based CAS plugin, locally modified ExoPlayer and
Android TV Tuner input.

bug: 22804304
Change-Id: Ia4ba1d4046f7588e42bfb21e726390457d2fc8e3
2017-02-22 17:27:01 -08:00
Ray Essick
0e0fee1e3a API access to mediametrics
provide SDK/API access to media metrics for user apps. This lets the
apps metrics data for their instances of player and codecs. Others
to come.

Bug: 34715803
Test: booted, invoked new APIs to verify desired results
Change-Id: Iaae6406aadef30adc893952961ac154a7c4c761d
2017-01-27 17:58:30 +00:00
Marco Nelissen
2a6aae0857 Drm APIs are in libmediadrm instead of libmedia
Test: build/boot
Change-Id: I4a6929d2d524d5f2f7ffa06f68a3c1041804e125
2016-11-07 16:37:06 -08:00
John Reck
f6113af2d6 Re-unite sources with their headers
Move all the includes for androidfw under
a common base path for that library instead
of frameworks/base/includes.

Also fixes -Werror issues that resulted in
no longer being -isystem.

Test: builds
Change-Id: Ic4312eb61b197af114dded5691d5ae1ec82923f7
2016-11-03 16:26:59 -07:00
Marco Nelissen
b3a22bcb76 Remove unneeded libraries from libmedia_jni
Test: built and booted
Change-Id: I9bd8dd0001688eabc0d58563b652eb11a69efba8
2016-10-26 21:20:49 +00:00
Marco Nelissen
e1a81fcc65 Make AmrInputStream use MediaCodec
Bug: 32114618
Test: ran CTS test
Change-Id: I9fe77689bf0bcd1bc8f6c5a4d62135271c7bef8b
2016-10-14 14:52:10 +00:00
Jin Park
0dd9e9cac8 ExifInterface: Remove JNI code
This CL finalizes porting piex into ExifInterface by removing JNI
methods and class as well as methods handling data received from
JNI method calls.

Bug: 29409358
Change-Id: I8f6c761e50cb29476dc0784f58908ec35e3c70e9
2016-08-10 11:49:20 +09:00
Jeff Tinker
d12b7c0600 Remove MediaDrm stack from mediaserver
Part of media security hardening

MediaDrm was temporarily allowed to
run in either mediaserver or mediadrmserver
while all nexus devices were implementing
support for the native_handle representation
of secure buffers.  Now that all nexus
devices support native_handle, the MediaDrm
stack can be removed from mediaserver.

b/22990512

Change-Id: I96a5222f94cd1580ac411de5b48beb44b99cc8d7
2016-04-27 00:49:15 +00:00
Eino-Ville Talvala
5d2d7788f1 Camera2: Switch to auto-gen C++ binder interfaces
- Move camera AIDL files to frameworks/av
 - Update makefiles to point to new AIDL locations
 - Adjust camera2 implementation to match modifications to AIDL needed
   for native AIDL auto-generation
 - Move Surface.aidl to frameworks/native to allow use in
   native AIDL. Use android::view::Surface in Surface JNI to
   serialize Surface objects to ensure parceling compatibility.
 - Adjust service binder tests to new interface

Bug: 25091611
Change-Id: I85b817374b34a4540fa145328dbe4bbf7f746baf
2016-03-01 17:15:17 -08:00
Jaesung Chung
15ef59e081 Revert "Revert "ExifInterface: switch from using jhead to java implementation""
This reverts commit 3c233ee291cfe1b765184920b6b7a69cb1bb82d9.

Bug: 27349581
Change-Id: Ib9f687e79ec36692fa7505ba3852099eb3e44573
2016-02-25 14:13:10 +00:00
Sungsoo Lim
3c233ee291 Revert "ExifInterface: switch from using jhead to java implementation"
This reverts commit bf24c9fcb3e66b25c90c0cd51f8bf4f401f6c3d6.

Change-Id: Id278e831a9c03f615208fd6eab51c65f7bb019eb
2016-02-25 11:48:10 +00:00
Jaesung Chung
bf24c9fcb3 ExifInterface: switch from using jhead to java implementation
Bug: 26044456, Bug: 11224701
Change-Id: I881ef0ead24bcec76c0fa5a7dd0b74cc71c77285
2016-02-25 10:57:27 +09:00
Jaesung Chung
fe968dfc12 ExifInterface: add support for reading metadata from RAW images
This CL depends on piex (github.com/google/piex),
which is owned by Google Photos's RAW team.

piex is capable of reading EXIF data that contains
metadata, and finding the positions in an image of
thumbnail and preview images from RAW images.

piex supports DNG, CR2, NEF, NRW, ARW, RW2, ORF
and RAF image file formats.

ExifInterface gets thumbnail and metadata information
from the above RAW image formats via piex.

Bug: 26177215
Change-Id: I529f8032bcb2a9d3d9e857ff1365a26a4f040066
2016-01-18 22:14:57 +09:00
Glenn Kasten
85d99546a0 Deprecations are warnings not errors
Change-Id: Ib77f45fdc27ea53f1dd181f48c76810d03f8dcdb
2015-05-28 07:59:36 -07:00
Wei Jia
2d61e2b97c MediaSync: address API review.
Rename *Settings to *Params;
Remove size parameter from MediaSync.queueAudio();

Bug: 20887706
Change-Id: I4c572da92ada51458031a482b96b3f624224e608
2015-05-08 15:23:28 -07:00
Lajos Molnar
c98f58efd1 media: add SyncSettings to MediaSync and MediaPlayer
Bug: 18249558
Change-Id: I76d7e20d0e0c2d1d24bf60ade6386986573476f0
2015-04-22 22:45:08 -07:00
John Reck
c1b33d665c GraphicsJNI Canvas cleanup
Change-Id: I72e142986a8bc9f464c1951b6b5187919de3462e
2015-04-22 09:34:34 -07:00
John Reck
9d4efdf280 Revert "A bunch more cleanups"
This reverts commit c294d128d03bc9a9982b273a82516c04583438cc.

Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
2015-04-17 20:47:27 +00:00
Chris Watkins
56d16568c0 Merge "Unhide the android.media.[Media]DataSource interface." 2015-04-16 17:06:46 +00:00
Chris Watkins
4eaa293808 Unhide the android.media.[Media]DataSource interface.
This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.

MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)

Only NuPlayer supports this new data source.

The change introduces:
 * IDataSource:        The binder interface for DataSource.
 * JMediaDataSource:   The native counterpart to the java interface. It
                       implements IDataSource.
 * CallbackDataSource: A stagefright DataSource that wraps an IDataSource.

Change-Id: I6d9c1167b4a7384c469b1e928f31791a7ebed716
2015-04-15 16:33:15 -07:00
John Reck
c294d128d0 A bunch more cleanups
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
2015-04-14 15:38:22 -07:00
Wei Jia
071a8b71d1 MediaSync: add MediaSync JAVA API
Bug: 19666434
Change-Id: Iab6941f6d81cb95a3b86be14b239287acb0d0eee
2015-04-03 15:34:34 -07:00
Zhijun He
f6a09e5106 ImageReader/Writer: Add ImageWriter and Opaque ImageReader
ImageWriter/Reader API change, including below changes
* Interface for Opaque ImageReader
* ImageWriter Interface and implementation
* Image class minor update to support ImageWriter opaque ImageReader

detach/attach interface are defined but yet to be implemented.

Change-Id: Ic7c0d2df73c80b1a81a7316d8c4556bf7703c309
2015-03-20 18:19:58 -07:00
Andreas Gampe
5a15d0d31b Frameworks/base: Wall Werror in media/jni
Turn on -Wall -Werror in media/jni. Fix warnings.

Change-Id: I9da54ad379d8172ee535b52ee2b0637a2533f4e3
2014-11-10 18:19:40 -08: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
Ying Wang
29894c6176 am db55bb06: am 4463cbc6: am 3b9600b6: Merge "Remove unused LOCAL_LDLIBS."
* commit 'db55bb0622e9fbe4b858d59409f516de01c1f1fd':
  Remove unused LOCAL_LDLIBS.
2014-05-08 18:31:18 +00:00
Ying Wang
4463cbc61d am 3b9600b6: Merge "Remove unused LOCAL_LDLIBS."
* commit '3b9600b673ad6a83481dcf88db6c9b2dc5bc9ba3':
  Remove unused LOCAL_LDLIBS.
2014-05-08 00:21:38 +00:00
Ying Wang
b38e3fdf5a Remove unused LOCAL_LDLIBS.
Change-Id: I01346e76f4ac6402af0ef33e3b2eef4a69e704a2
2014-05-07 15:23:37 -07:00
Marco Nelissen
aefa427c27 Make MtpDatabase use libexif instead of libjhead
b/12203995

Change-Id: I0e0e6209be7a9d3e493abdcee8619cae6d4b9501
2014-03-07 10:30:23 -08:00
Marco Nelissen
faab8b2313 Fix build
Bad automerge

Change-Id: I000a9d3ac2915b3e39d2d34bd52062ac47e9f0fe
2014-03-06 22:19:02 -08:00
Marco Nelissen
da7ad468d9 am 4bf85e84: am daefb17c: am e1af0bd8: am 4f36104f: am e29c96e7: Merge "libexif is now libjhead" into klp-dev
* commit '4bf85e84e95cd39f5bded8abc8d1e0bf9c28e3ce':
  libexif is now libjhead
2014-03-07 03:10:01 +00:00
Marco Nelissen
c0786cc258 libexif is now libjhead
b/12203995
Change-Id: I6b749e251a2e03738550ce911e59527f80d26212
2014-03-06 16:00:35 -08:00
Derek Sollenberger
eece0dda56 Fix includes so that they no longer rely on the global Skia includes directories.
bug:13225538
Change-Id: Ia5d816dc665f81c7985f21036af4fd0a63c560cf
2014-02-27 14:31:29 -05:00
Andreas Huber
9ae000ca8c Revert "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest."
This reverts commit 7825334929b098b36e1144872200e75ba6d24b13.

Change-Id: I1702eb3ff9d7192d64039c8bf4bc3fc5d8e458c4
2014-02-13 17:22:33 +00:00
Andreas Huber
7825334929 Split AndroidRuntime into AndroidRuntimeBase base-class and the rest.
AndroidRuntimeBase (exported by libandroid_runtime_base.so) is all you need
to link against to gain the ability to do AndroidRuntimeBase::getJNIEnv()
thus minimizing build dependencies.

Change-Id: Ia7f0c94c8c02b974c068e0db34774827f96aa95b
2014-02-12 15:00:05 -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
Marco Nelissen
92351c5886 libjhead_jni is still needed
protip: do not remove things from makefiles just because it builds without them
b/12528751

Change-Id: I3ef8dcdf638e8b59d309922bb972c893fc75a712
2014-01-13 10:19:17 -08:00
Marco Nelissen
3cd393c505 Make MtpDatabase use libexif instead of libjhead
b/12203995

Change-Id: I0e0e6209be7a9d3e493abdcee8619cae6d4b9501
2014-01-10 10:39:27 -08:00
Marco Nelissen
7f6abf84ab libexif is now libjhead
Change-Id: I6b749e251a2e03738550ce911e59527f80d26212
2013-12-19 14:21:19 -08:00
Zhijun He
534046d2b1 ImageReader: get correct jpeg size.
the jpeg size was set to the buffer width, which is the max jpeg buffer size.
the right size can be obtained by parsing the camera3_jpeg_blob data sent by
hal.

Also correct the buffer size check when crop is not set.

Bug: 9254294
Change-Id: Ic73de47ef97efa4eb356a399c1576715e2eacbfd
2013-07-01 11:03:41 -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
Ying Wang
d685894212 Add liblog
Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
2013-04-09 21:54:12 -07: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
Glenn Kasten
b24a1b7f99 Remove obsolete references to libmedia_native
Bug: 6654403
Change-Id: I05d8e81fd31617b587fd1228a303c40db83e7f2d
2012-10-30 10:59:52 -07:00
Keun young Park
bb52c49c9a rename exif to exif_jni due to refactoring in external/jhead
- also pull libexif_jni from media_jni

Bug: 6623618
Change-Id: I4f06a4614c5fddcf98d95caff16a2c40f345dade
2012-06-07 10:36:41 -07:00