Commit Graph

42 Commits

Author SHA1 Message Date
Jaesung Chung
8409c0691f Enable reading a thumbnail from RAW image files in MtpDatabase
Also introduce new supported RAW image file formats, PEF and SRW.

RAW image file formats are not defined in PTP 1.2 specification except
for DNG. They are mostly built on top of TIFF or TIFF/EP. (Fuji's RAF
is the exception).

In this CL, image file formats are classified newly as below:

DNG: dng
TIFF: cr2, nrw, arw, rw2, orf, pef, srw
TIFF/EP: nef
Unknown Image Formats(FORMAT_DEFINED): wbmap, webp, raf

I referred to the following documents for defining MTP formats of RAW
images:

* http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html
* https://en.wikipedia.org/wiki/Raw_image_format

Bug: 26552863, Bug: 26626825
Change-Id: Ia218f6320c4c1ff051a23ca0060ceac46134b0d7
2016-01-27 18:40:36 +09:00
Jaesung Chung
5a8b9627c7 Extend MediaScanner and MtpDatabase to support RAW image files
Bug: 25871812
Change-Id: Iee92632585dc9020238a9b562defd06d6d2a91dc
2016-01-19 09:43:35 +09:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Elliott Hughes
dcb1a58cf9 If media wants ASCII lowercasing, it needs to ask for it.
http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Use toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,
and use toLowerCase(Locale.getDefault()) if you want the user's locale's
casing rules for human consumption.

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d
2013-08-02 10:03:53 -07:00
Mike Lockwood
2d286f4984 MediaFile: Fix case sensitive file extension matching for computing MTP format code
Bug: 6939136

Change-Id: Iefd4083aefbd4b175a2f8c860a9e13c99ded9c82
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-08-07 14:43:59 -07:00
Jean-Baptiste Queru
0237d04b95 am 644e43e0: am 3e3d641c: Merge "Added mpga as valid MediaFile extension"
* commit '644e43e06ffa5b493ca3682c24b8db606deed664':
  Added mpga as valid MediaFile extension
2012-06-08 10:57:12 -07:00
Mathias Franzén
2fe37b7005 Added mpga as valid MediaFile extension
Added mpga as a valid media file extension, it is treated as mp3.

Change-Id: Ie39036d61b6ca50439861fa10be0d824dcc65ed3
2012-06-05 08:20:16 +02:00
Marco Nelissen
dc912ed9c6 Support audio/ogg mimetype
audio/ogg has been the official mimetype for ogg vorbis audio for
a while now, so we should support it.

b/5824157

Change-Id: Ica86bdb3099a10785f1da9c3413284f3e11dc27e
2012-04-02 16:00:44 -07:00
Glenn Kasten
30c918ce7f Use final on new member variables
Use final for member fields initialized to a new and that are never modified.

Change-Id: I042352c7bc21879613e7a50b1205b6923f8083cf
2012-01-27 16:13:00 -08:00
Andreas Huber
bc55495612 Support for an MPEG2 Program Stream extractor.
Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
2011-09-30 15:26:31 -07:00
Mike Lockwood
ff53591482 Use video/webm mime type for WEBM files
Bug: 5042137

Change-Id: I677af1b4f34c37c78f84229551a8d82f1a7bf245
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-08-10 12:16:40 -04:00
Mike Lockwood
bd682b0408 MediaScanner: Use bulk inserts when in batch mode
To do this we need to move the logic for determining media type to MediaProvider
Make some things in MediaFile public so they can be used from MediaProvider

Bug: 4948188

Change-Id: I6ab168b6b4d45b2fc91ea8bd52ca58283b0efc14
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-11 11:55:26 -04:00
Vikas Arora
7f61f5919d Associate WebP Mime-Type with FILE_TYPE_WEBP.
The last change for adding WEBP Mime-Type
(https://android-git.corp.google.com/g/#change,112919) had this bug.
Fixing the bug in this change.

Change-Id: I084b66de4aabb3892fb0e6fa36062a52d4dcc224
2011-07-06 16:48:18 +05:30
Vikas Arora
d0881d95e2 Add WebP Mime-Type support in Android Media File
Change-Id: Ifaa64c8fc55d1f1ad14db3057821696b565e0c26
2011-06-03 00:13:36 +05:30
Gloria Wang
f9cf277cda Add one more MIME type (audio/aac-adts) for aac file.
Fix for bug 4463059.

Change-Id: Ie2125349667e65b41871a228d87e4dce6b513398
2011-05-19 10:45:45 -07:00
Andreas Huber
cabb7da712 Support for divx files, i.e. mpeg 4 video + mpeg audio layer III in .avi files
Change-Id: I6e1e989c43300ddb0d341e3e9183cdccd69eeae6
related-to-bug: 4192562
2011-03-30 13:13:25 -07:00
Andreas Huber
eecadb9a84 Adding support for the '.mxmf' MIDI file extension.
Change-Id: Ic73e2f843f8640dd794d090413cf63232f0182b9
related-to-bug: 4186454
2011-03-29 13:17:30 -07:00
Mike Lockwood
16dc3073a2 Don't treat WMV and ASF files as video files unless WMV is supported
Change-Id: I512d1db67e06273d9c23d10fa30d2d62f9f75a75
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-22 17:49:00 -08:00
Glenn Kasten
f9f223edb4 Bug 1804058 FLAC extractor
Note: dependent on external/flac for libFLAC

Implemented and tested:
 * FLAC container
 * mono and stereo
 * standard sample rates
 * standard bit depths
 * sniffer
 * media scanner
 * Vorbis comment metadata including album art
 * random access seeking with "torture test"
 * web browser integration for audio/flac (not audio/x-flac), but
   note that most web servers don't correctly report the MIME type

Not implemented:
 * 24-bit to 16-bit dither or noise shaping in AudioFlinger
 * 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger
 * replay gain is better done in AudioFlinger
 * multi-channel, would need AudioFlinger support
 * Ogg container, does not seem to be very popular yet

Change-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17
2011-02-03 13:39:10 -08:00
Mike Lockwood
0cd0136d44 Move MTP Java classes to android.mtp.* package.
Change-Id: Ib18bcaabf314241a95e517d0b93be5845d988e2c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-30 11:54:33 -05:00
Andreas Huber
b5c6afc208 Squashed commit of the following:
commit de99ae4a523ff5ec40b47071f22fdde1a4b2a0bf
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 2 13:18:40 2010 -0800

    Scan for sync words to find H.264 frame/AAC frame boundaries if PES packets do not start with them.

    Change-Id: If2861982ecb3006fac806105dbfcd1d43c2a4205

commit be23791ff0d037aa7073589cdc8bfc362e1c281d
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 2 13:12:39 2010 -0800

    Properly expand relative key URLs and strip surrounding quotes in the M3UParser.

    Change-Id: I013a6d83a64f095d090e5c7730298bdac7d03ab4

commit 0f1d8f65effe0cc42a265dd91d8b91dce6534325
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 2 13:11:27 2010 -0800

    Ugly hack that assumes that any http url containing "m3u8" refers to an httplive stream.

    Change-Id: I05d7bbc5dab0f9822558122b5b9dc2a109ed8518

commit 255f0d5cdb1072ecd66b47ee614bf574f1388e5a
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 2 13:10:56 2010 -0800

    Add one more mimetype "application/x-mpegurl" to identify httplive playlists.

    Change-Id: I63fd3b8c2539c9ee23c077df533157af78b10863

Change-Id: I135687383009dbe32d690c9ba8dea60159adc616
2010-12-02 13:27:47 -08:00
Andreas Huber
5dffd0e3af Add http live mime types to MediaFile, add support for playlist mime types to browser.
Change-Id: I1f0b31dd2f4e6cfa33a61ff8505e8396aca3c20f
related-to-bug: 2368598
2010-11-15 08:54:40 -08:00
Mike Lockwood
28d1a4aaf3 MediaFile: Recognize MPG file extension as MPEG video
Change-Id: Ief7308e5f562754a27f07e4fda970ffd7b1eb98e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-11 16:14:19 -05:00
Gloria Wang
5d143ad4a8 Media scanner support for FL(Forward Lock) DRM file types
Change-Id: Id85edbfc2851d9054a7433d24bb5cf33a457a4e5
2010-11-01 14:08:39 -07:00
Vasu Nori
45b43622e3 add method in MediaFile to determine if a file is a mediatype of not
this helps DownloadService to avoid invoking MediaScanner on
pdf or other non-mediatype files.

Change-Id: I92514e1a11f5119229c0c7292e410e352a9dbcdd
2010-10-26 16:12:27 -07:00
Mike Lockwood
fde2ca180e MediaFile: Add support for some popular non-media file types.
Change-Id: I68379740b535b08e707158f357e4e58a9c4d74ec
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-12 23:21:54 -04:00
Mike Lockwood
c37255d5d0 Media scanner support for tracking files of arbitrary type.
The native media scanner no longer filters files based on file extension.
Audio, video, image and playlist files are handled as before, but non-media
files are now inserted into the "files" table, which was originally added
to support MTP.

Change-Id: I9053218fb6d2671a3bb181405c34442b94678afc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-12 23:21:44 -04:00
Mike Lockwood
5367ab6aab MTP: Move all MTP protocol constants for Java to a central location.
Change-Id: I770d8727f84d25f0781fc23eedd9e9ac9ded1992
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-08-30 13:35:03 -04:00
Mike Lockwood
d815f79766 Integrate host to device file transfer with the media provider.
MTP file transfers happen in two stages.  The SendObjectInfo command sends
some information about the file and reserves an ObjectHandle for the new file.
The file transfer is then performed using the SendObject command.

To support this in the media provider, MtpDatabase.beginSendObject receives
the information from SendObjectInfo and creates an row for it in the MTP objects
table for the new file.  After the file transfer has completed, then
MtpDatabase.endSendObject is called.  In endSendObject, we run the media scanner
on the new file, which will add a row to the images, audio, video
or audio playlist table.

To avoid the media scanner creating a second row for the file in the MTP objects
table, we pass the ObjectHandle created in beginSendObject to the media scanner,
which then passes it to the media provider via the content values when it
performs its insert.

Change-Id: I1ebcc63d6bd4404b0d3a93c703a9d3c097381d3a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-12 14:01:22 -04:00
Mike Lockwood
d21eac9c70 MTP: Use media provider database to implement MTP device support.
Uses a new "MTP objects" table in the media provider to support basic
enumeration of the external storage file system.
Support for accessing audio, video and image metadata in the existing
media provider tables will be added in a later commit.

The C++ MtpDatabase class is now abstract, to support a proxy subclass that
calls through JNI to the Java MtpDatabase class in the media provider.

Change-Id: I90f0db5f3acc5d35ae78c27a8507edff16d14305
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-08 16:21:09 -04:00
Andreas Huber
a557b24ac4 Initial checkin of mpeg2 transport stream parser for stagefright.
Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
2010-06-07 13:05:37 -07:00
Andreas Huber
072f5247ef Support for media extraction from .mkv/.mka Matroska files in stagefright.
Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca
related-to-bug: 2483739
2010-05-20 14:56:53 -07:00
James Dong
68db99ef76 Replace system property retrieval calls with DecoderCapabilities Java API calls. 2010-02-17 00:11:32 -08:00
James Dong
1b50044a27 Add MPEG to the file extensions that scanner cares 2010-01-06 12:18:02 -08:00
Marco Nelissen
9a488b44cb MediaFile.UNKNOWN_STRING -> MediaStore.UNKNOWN_STRING 2010-01-04 15:09:03 -08:00
Marco Nelissen
0ddbc35dc4 Only scan windows media files when those codecs are enabled. 2009-09-27 11:25:49 -07:00
Ravi K Yenduri
974ff946d1 Add support for .aac and .asf extensions. 2009-07-24 11:26:30 -07:00
Marco Nelissen
d282ac8610 Findbugs fixes. 2009-05-14 13:18:16 -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
d24b8183b9 auto import from //branches/cupcake/...@130745 2009-02-10 15:44:00 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00