Commit Graph

34 Commits

Author SHA1 Message Date
Narayan Kamath
cd1cdb4653 am 9d01914a: am fdb70dc4: Merge "Fix filedescriptor leakage in MediaMetadataRetriever"
* commit '9d01914a89bc693e21809fabf46281e638b93f85':
  Fix filedescriptor leakage in MediaMetadataRetriever
2015-06-25 10:02:15 +00:00
harvey_tsai
e1856e4829 Fix filedescriptor leakage in MediaMetadataRetriever
setDataSource(String) throws an IllegalArgumentException
when an IOException or FileNotFoundException occurs, but doesn't
close FileDescriptor accordingly.

Change-Id: Ib6e0f1418afeeb19e03abd4bedb4cc845a58b6b4
2015-06-25 09:31:18 +01: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
Chong Zhang
8f73a1be7c MediaMetadataRetriever: add key for capture fps
bug: 19460202
Change-Id: I3b7ebe298d78bbd292cf6202c43da674e43db854
2015-04-07 17:32:16 -07: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é
425916e4c5 Fix NullpointerException in MediaMetadataRetriever
According to the API documentation and the ICS implementation
the setDataSource(String) method throws an
IllegalArgumentException if path is null. In JB a
NullpointerException is thrown instead. This fix restores
the earlier behaviour.

Change-Id: Ic47baadf91076acc227d92d84f6b8d1d6ecd0c03
2013-07-26 18:18:17 +00:00
Jeff Brown
24e22d19a2 Fix a doc typo.
Change-Id: Id41af7644e552b0fbfe90818d0a9f42178c6474d
2013-04-01 19:41:41 -07:00
James Dong
9984833191 Added a key to retrieve the rotation angle in MediaMetadataRetriever.java class
o related-to-bug: 6872687

Change-Id: I94569bb8357c39e8309974ede8284b33a996866c
2012-07-31 14:50:49 -07:00
James Dong
0041b5c561 Fix thumbnail generation failure
o Change the impl of MediaMetadataRetriever.setDataSource(String).
  It opens and passes an fd to the media framework
  rather than pass the file path directly to the media server. The change is needed since media
  server does not have read permission to sdcard
o Remove the unnecessary jni method

Change-Id: I5a2f47dde804523d264b588f855ba2575a99c179
2012-04-11 14:56:34 -07:00
James Dong
00aa51b355 Unhide the key to retriever location information in 3gp/mp4 files
Change-Id: I71c651b403955c0f6f8df096e995a5f5f4e39130
related-to-bug: 5560253
2011-11-11 01:49:01 -08:00
James Dong
77c500c9a1 Add support for retrieving location information in mp4/3gpp files
Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
2011-11-10 11:40:11 -08:00
Gloria Wang
82428a862f - Retrieve is_drm in MediaMetadataRetriever.
- Add one more column in MediaStore to indicate whether a
  media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager

Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
2011-07-01 16:52:28 -07:00
James Dong
e8b26dcec7 Extract embedded cover art (aka poster frame) in mp4 files
Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
2011-05-26 11:31:16 -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
c6091ddd3a Initial CL for the timed text support:
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever

Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
2011-05-03 16:41:17 -07:00
Andreas Huber
5b7ced6a4e Support passing headers to MediaMetadataRetriever's setDataSource API
Change-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26
related-to-bug: 3506316
2011-03-21 11:13:59 -07:00
Andreas Huber
c4c38fc1ea Added more metadata published by the MediaMetaDataRetriever
- presence of audio/video content
- video dimensions
- avg. bitrate

Change-Id: Ie6d478a3c2d0bb6bebaea99ac0a20a4c17808934
related-to-bug: 3506316
2011-03-04 10:32:36 -08:00
James Dong
11eab056dd Publish MediaMetadataRetriever.java as public API
o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
2011-01-12 14:14:11 -08:00
Marco Nelissen
ee35aff744 Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
2011-01-07 12:42:07 -08:00
James Dong
df9b349b96 Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java
Change-Id: I34dfc1daa3bed1f334f3f266cbe70d1e3d7924f6
2011-01-04 15:03:48 -08:00
James Dong
6e77de71ac Remove captureFrame from MediaMetadataRetriever.java class
It has been replaced by getFrameAtTime() method

Change-Id: I9ed762e10e61dbc188e2a740e489a3e2ef9a6bb2
2011-01-04 12:13:44 -08:00
James Dong
faf09ba940 Prepare for publishing MediaMetadataRetriever as public API
step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
2010-12-03 15:32:47 -08:00
Marco Nelissen
c5d5ee34d7 Add support for "album artist" tag. 2010-02-11 13:32:04 -08:00
Andreas Huber
1cb02bf661 Support for determining the mime type of media via metadata extraction. 2010-01-13 11:30:34 -08:00
Sahil Sachdeva
077f90f6ef 1440173 [NJ-1331] MetaData utility parse the wrong m4a meta data. Changes to Java, application side. 2009-08-14 11:34:33 -07:00
Marco Nelissen
4935d05eaa Untangle MediaPlayer, MediaRecorder, MediaScanner and MediaMetadataRetriever JNI
code, so that creating one of those doesn't initialize all the others. Shaves
a hundred milliseconds or so off music app startup time.
2009-08-03 11:32:30 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
076357b856 auto import from //depot/cupcake/@132589 2009-03-03 14:04:24 -08:00
The Android Open Source Project
3dec7d563a auto import from //depot/cupcake/@137055 2009-03-02 22:54:33 -08:00
The Android Open Source Project
b798689749 auto import from //branches/cupcake/...@125939 2009-01-09 17:51:23 -08:00
The Android Open Source Project
f013e1afd1 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:43 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00