summaryrefslogtreecommitdiffstats
path: root/media/mtp
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-07-03 14:40:05 -0400
committerMike Lockwood <lockwood@android.com>2010-07-08 16:02:16 -0400
commitdda7e2b7378755637f188cca7c5ae854427a28f7 (patch)
tree52ccd14a2d8531bc1137d2ef1c8b38dce8622cfb /media/mtp
parent6506bd2be256cdebc69324714c5b26c767981046 (diff)
downloadframeworks_av-dda7e2b7378755637f188cca7c5ae854427a28f7.zip
frameworks_av-dda7e2b7378755637f188cca7c5ae854427a28f7.tar.gz
frameworks_av-dda7e2b7378755637f188cca7c5ae854427a28f7.tar.bz2
MTP: remove separate audio table from prototype MTP database
Change-Id: I5e4b49b741a0a3c6ddf5afcbb20a0d7c9515c8ce Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp')
-rw-r--r--media/mtp/Android.mk5
-rw-r--r--media/mtp/MtpDatabase.cpp81
-rw-r--r--media/mtp/MtpDatabase.h18
-rw-r--r--media/mtp/MtpMediaScanner.cpp222
-rw-r--r--media/mtp/MtpMediaScanner.h6
-rw-r--r--media/mtp/MtpServer.cpp3
-rw-r--r--media/mtp/MtpSqliteDatabase.cpp112
-rw-r--r--media/mtp/MtpSqliteDatabase.h16
-rw-r--r--media/mtp/MtpTypes.h5
9 files changed, 42 insertions, 426 deletions
diff --git a/media/mtp/Android.mk b/media/mtp/Android.mk
index 13a6430..e523815 100644
--- a/media/mtp/Android.mk
+++ b/media/mtp/Android.mk
@@ -20,7 +20,6 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
MtpClient.cpp \
MtpCursor.cpp \
- MtpDatabase.cpp \
MtpDataPacket.cpp \
MtpDebug.cpp \
MtpDevice.cpp \
@@ -59,7 +58,7 @@ LOCAL_MODULE:= mtptest
LOCAL_CFLAGS := -DMTP_DEVICE
-LOCAL_SHARED_LIBRARIES := libutils libsqlite libstagefright libcutils \
+LOCAL_SHARED_LIBRARIES := libutils libsqlite libcutils \
libmedia
LOCAL_STATIC_LIBRARIES := libmtp
@@ -76,7 +75,7 @@ LOCAL_SRC_FILES:= \
LOCAL_STATIC_LIBRARIES := libmtp
LOCAL_C_INCLUDES := external/sqlite/dist
-LOCAL_SHARED_LIBRARIES := libutils libsqlite libstagefright libmedia
+LOCAL_SHARED_LIBRARIES := libutils libsqlite libmedia
LOCAL_CFLAGS := -g
LOCAL_LDFLAGS := -g
diff --git a/media/mtp/MtpDatabase.cpp b/media/mtp/MtpDatabase.cpp
deleted file mode 100644
index eabd993..0000000
--- a/media/mtp/MtpDatabase.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "MtpDatabase"
-
-#include "MtpDebug.h"
-#include "MtpDatabase.h"
-#include "MtpTypes.h"
-#include "mtp.h"
-
-namespace android {
-
-MtpDatabase::~MtpDatabase() {
-}
-
-uint32_t MtpDatabase::getTableForFile(MtpObjectFormat format) {
- switch (format) {
- case MTP_FORMAT_AIFF:
- case MTP_FORMAT_WAV:
- case MTP_FORMAT_MP3:
- case MTP_FORMAT_FLAC:
- case MTP_FORMAT_UNDEFINED_AUDIO:
- case MTP_FORMAT_WMA:
- case MTP_FORMAT_OGG:
- case MTP_FORMAT_AAC:
- case MTP_FORMAT_AUDIBLE:
- return kObjectHandleTableAudio;
- case MTP_FORMAT_AVI:
- case MTP_FORMAT_MPEG:
- case MTP_FORMAT_ASF:
- case MTP_FORMAT_UNDEFINED_VIDEO:
- case MTP_FORMAT_WMV:
- case MTP_FORMAT_MP4_CONTAINER:
- case MTP_FORMAT_MP2:
- case MTP_FORMAT_3GP_CONTAINER:
- return kObjectHandleTableVideo;
- case MTP_FORMAT_DEFINED:
- case MTP_FORMAT_EXIF_JPEG:
- case MTP_FORMAT_TIFF_EP:
- case MTP_FORMAT_FLASHPIX:
- case MTP_FORMAT_BMP:
- case MTP_FORMAT_CIFF:
- case MTP_FORMAT_GIF:
- case MTP_FORMAT_JFIF:
- case MTP_FORMAT_CD:
- case MTP_FORMAT_PICT:
- case MTP_FORMAT_PNG:
- case MTP_FORMAT_TIFF:
- case MTP_FORMAT_TIFF_IT:
- case MTP_FORMAT_JP2:
- case MTP_FORMAT_JPX:
- case MTP_FORMAT_WINDOWS_IMAGE_FORMAT:
- return kObjectHandleTableImage;
- case MTP_FORMAT_ABSTRACT_AUDIO_PLAYLIST:
- case MTP_FORMAT_ABSTRACT_AV_PLAYLIST:
- case MTP_FORMAT_ABSTRACT_VIDEO_PLAYLIST:
- case MTP_FORMAT_WPL_PLAYLIST:
- case MTP_FORMAT_M3U_PLAYLIST:
- case MTP_FORMAT_MPL_PLAYLIST:
- case MTP_FORMAT_ASX_PLAYLIST:
- case MTP_FORMAT_PLS_PLAYLIST:
- return kObjectHandleTablePlaylist;
- default:
- return kObjectHandleTableFile;
- }
-}
-
-} // namespace android
diff --git a/media/mtp/MtpDatabase.h b/media/mtp/MtpDatabase.h
index 0c70d9f..a6aaf0f 100644
--- a/media/mtp/MtpDatabase.h
+++ b/media/mtp/MtpDatabase.h
@@ -26,9 +26,7 @@ class MtpDataPacket;
class MtpDatabase {
public:
- virtual ~MtpDatabase();
-
- static uint32_t getTableForFile(MtpObjectFormat format);
+ virtual ~MtpDatabase() {}
virtual MtpObjectHandle getObjectHandle(const char* path) = 0;
virtual MtpObjectHandle addFile(const char* path,
@@ -38,20 +36,6 @@ public:
uint64_t size,
time_t modified) = 0;
- virtual MtpObjectHandle addAudioFile(MtpObjectHandle id) = 0;
-
- virtual MtpObjectHandle addAudioFile(MtpObjectHandle id,
- const char* title,
- const char* artist,
- const char* album,
- const char* albumArtist,
- const char* genre,
- const char* composer,
- const char* mimeType,
- int track,
- int year,
- int duration) = 0;
-
virtual MtpObjectHandleList* getObjectList(MtpStorageID storageID,
MtpObjectFormat format,
MtpObjectHandle parent) = 0;
diff --git a/media/mtp/MtpMediaScanner.cpp b/media/mtp/MtpMediaScanner.cpp
index ac4c0cf..a9adf01 100644
--- a/media/mtp/MtpMediaScanner.cpp
+++ b/media/mtp/MtpMediaScanner.cpp
@@ -31,143 +31,15 @@
#include <stdio.h>
#include <limits.h>
-#include <media/mediascanner.h>
-#include <media/stagefright/StagefrightMediaScanner.h>
-
namespace android {
-class MtpMediaScannerClient : public MediaScannerClient
-{
-public:
- MtpMediaScannerClient()
- {
- reset();
- }
-
- virtual ~MtpMediaScannerClient()
- {
- }
-
- // returns true if it succeeded, false if an exception occured in the Java code
- virtual bool scanFile(const char* path, long long lastModified, long long fileSize)
- {
- LOGV("scanFile %s", path);
- return true;
- }
-
- // returns true if it succeeded, false if an exception occured in the Java code
- virtual bool handleStringTag(const char* name, const char* value)
- {
- int temp;
-
- if (!strcmp(name, "title")) {
- mTitle = value;
- mHasTitle = true;
- } else if (!strcmp(name, "artist")) {
- mArtist = value;
- mHasArtist = true;
- } else if (!strcmp(name, "album")) {
- mAlbum = value;
- mHasAlbum = true;
- } else if (!strcmp(name, "albumartist")) {
- mAlbumArtist = value;
- mHasAlbumArtist = true;
- } else if (!strcmp(name, "genre")) {
- // FIXME - handle numeric values here
- mGenre = value;
- mHasGenre = true;
- } else if (!strcmp(name, "composer")) {
- mComposer = value;
- mHasComposer = true;
- } else if (!strcmp(name, "tracknumber")) {
- if (sscanf(value, "%d", &temp) == 1)
- mTrack = temp;
- } else if (!strcmp(name, "discnumber")) {
- // currently unused
- } else if (!strcmp(name, "year") || !strcmp(name, "date")) {
- if (sscanf(value, "%d", &temp) == 1)
- mYear = temp;
- } else if (!strcmp(name, "duration")) {
- if (sscanf(value, "%d", &temp) == 1)
- mDuration = temp;
- } else {
- LOGV("handleStringTag %s : %s", name, value);
- }
- return true;
- }
-
- // returns true if it succeeded, false if an exception occured in the Java code
- virtual bool setMimeType(const char* mimeType)
- {
- mMimeType = mimeType;
- mHasMimeType = true;
- return true;
- }
-
- // returns true if it succeeded, false if an exception occured in the Java code
- virtual bool addNoMediaFolder(const char* path)
- {
- LOGV("addNoMediaFolder %s", path);
- return true;
- }
-
- void reset()
- {
- mHasTitle = false;
- mHasArtist = false;
- mHasAlbum = false;
- mHasAlbumArtist = false;
- mHasGenre = false;
- mHasComposer = false;
- mHasMimeType = false;
- mTrack = mYear = mDuration = 0;
- }
-
- inline const char* getTitle() const { return mHasTitle ? (const char *)mTitle : NULL; }
- inline const char* getArtist() const { return mHasArtist ? (const char *)mArtist : NULL; }
- inline const char* getAlbum() const { return mHasAlbum ? (const char *)mAlbum : NULL; }
- inline const char* getAlbumArtist() const { return mHasAlbumArtist ? (const char *)mAlbumArtist : NULL; }
- inline const char* getGenre() const { return mHasGenre ? (const char *)mGenre : NULL; }
- inline const char* getComposer() const { return mHasComposer ? (const char *)mComposer : NULL; }
- inline const char* getMimeType() const { return mHasMimeType ? (const char *)mMimeType : NULL; }
- inline int getTrack() const { return mTrack; }
- inline int getYear() const { return mYear; }
- inline int getDuration() const { return mDuration; }
-
-private:
- MtpString mTitle;
- MtpString mArtist;
- MtpString mAlbum;
- MtpString mAlbumArtist;
- MtpString mGenre;
- MtpString mComposer;
- MtpString mMimeType;
-
- bool mHasTitle;
- bool mHasArtist;
- bool mHasAlbum;
- bool mHasAlbumArtist;
- bool mHasGenre;
- bool mHasComposer;
- bool mHasMimeType;
-
- int mTrack;
- int mYear;
- int mDuration;
-};
-
-
MtpMediaScanner::MtpMediaScanner(MtpStorageID id, const char* filePath, MtpDatabase* db)
: mStorageID(id),
mFilePath(filePath),
mDatabase(db),
- mMediaScanner(NULL),
- mMediaScannerClient(NULL),
mFileList(NULL),
mFileCount(0)
{
- mMediaScanner = new StagefrightMediaScanner;
- mMediaScannerClient = new MtpMediaScannerClient;
}
MtpMediaScanner::~MtpMediaScanner() {
@@ -199,47 +71,46 @@ static const struct MediaFileTypeEntry
{
const char* extension;
MtpObjectFormat format;
- uint32_t table;
} sFileTypes[] =
{
- { "MP3", MTP_FORMAT_MP3, kObjectHandleTableAudio },
- { "M4A", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "WAV", MTP_FORMAT_WAV, kObjectHandleTableAudio },
- { "AMR", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "AWB", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "WMA", MTP_FORMAT_WMA, kObjectHandleTableAudio },
- { "OGG", MTP_FORMAT_OGG, kObjectHandleTableAudio },
- { "OGA", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "AAC", MTP_FORMAT_AAC, kObjectHandleTableAudio },
- { "MID", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "MIDI", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "XMF", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "RTTTL", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "SMF", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "IMY", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "RTX", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "OTA", MTP_FORMAT_UNDEFINED_AUDIO, kObjectHandleTableAudio },
- { "MPEG", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "MP4", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "M4V", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "3GP", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "3GPP", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "3G2", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "3GPP2", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "WMV", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "ASF", MTP_FORMAT_UNDEFINED_VIDEO, kObjectHandleTableVideo },
- { "JPG", MTP_FORMAT_EXIF_JPEG, kObjectHandleTableImage },
- { "JPEG", MTP_FORMAT_EXIF_JPEG, kObjectHandleTableImage },
- { "GIF", MTP_FORMAT_GIF, kObjectHandleTableImage },
- { "PNG", MTP_FORMAT_PNG, kObjectHandleTableImage },
- { "BMP", MTP_FORMAT_BMP, kObjectHandleTableImage },
- { "WBMP", MTP_FORMAT_BMP, kObjectHandleTableImage },
- { "M3U", MTP_FORMAT_M3U_PLAYLIST, kObjectHandleTablePlaylist },
- { "PLS", MTP_FORMAT_PLS_PLAYLIST, kObjectHandleTablePlaylist },
- { "WPL", MTP_FORMAT_WPL_PLAYLIST, kObjectHandleTablePlaylist },
+ { "MP3", MTP_FORMAT_MP3, },
+ { "M4A", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "WAV", MTP_FORMAT_WAV, },
+ { "AMR", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "AWB", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "WMA", MTP_FORMAT_WMA, },
+ { "OGG", MTP_FORMAT_OGG, },
+ { "OGA", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "AAC", MTP_FORMAT_AAC, },
+ { "MID", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "MIDI", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "XMF", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "RTTTL", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "SMF", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "IMY", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "RTX", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "OTA", MTP_FORMAT_UNDEFINED_AUDIO, },
+ { "MPEG", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "MP4", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "M4V", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "3GP", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "3GPP", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "3G2", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "3GPP2", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "WMV", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "ASF", MTP_FORMAT_UNDEFINED_VIDEO, },
+ { "JPG", MTP_FORMAT_EXIF_JPEG, },
+ { "JPEG", MTP_FORMAT_EXIF_JPEG, },
+ { "GIF", MTP_FORMAT_GIF, },
+ { "PNG", MTP_FORMAT_PNG, },
+ { "BMP", MTP_FORMAT_BMP, },
+ { "WBMP", MTP_FORMAT_BMP, },
+ { "M3U", MTP_FORMAT_M3U_PLAYLIST, },
+ { "PLS", MTP_FORMAT_PLS_PLAYLIST, },
+ { "WPL", MTP_FORMAT_WPL_PLAYLIST, },
};
-MtpObjectFormat MtpMediaScanner::getFileFormat(const char* path, uint32_t& table)
+MtpObjectFormat MtpMediaScanner::getFileFormat(const char* path)
{
const char* extension = strrchr(path, '.');
if (!extension)
@@ -248,11 +119,9 @@ MtpObjectFormat MtpMediaScanner::getFileFormat(const char* path, uint32_t& table
for (unsigned i = 0; i < sizeof(sFileTypes) / sizeof(sFileTypes[0]); i++) {
if (!strcasecmp(extension, sFileTypes[i].extension)) {
- table = sFileTypes[i].table;
return sFileTypes[i].format;
}
}
- table = kObjectHandleTableFile;
return MTP_FORMAT_UNDEFINED;
}
@@ -316,8 +185,7 @@ int MtpMediaScanner::scanDirectory(const char* path, MtpObjectHandle parent)
}
void MtpMediaScanner::scanFile(const char* path, MtpObjectHandle parent, struct stat& statbuf) {
- uint32_t table;
- MtpObjectFormat format = getFileFormat(path, table);
+ MtpObjectFormat format = getFileFormat(path);
// don't scan unknown file types
if (format == MTP_FORMAT_UNDEFINED)
return;
@@ -334,22 +202,6 @@ void MtpMediaScanner::scanFile(const char* path, MtpObjectHandle parent, struct
mDatabase->rollbackTransaction();
return;
}
-
- if (table == kObjectHandleTableAudio) {
- mMediaScannerClient->reset();
- mMediaScanner->processFile(path, NULL, *mMediaScannerClient);
- handle = mDatabase->addAudioFile(handle,
- mMediaScannerClient->getTitle(),
- mMediaScannerClient->getArtist(),
- mMediaScannerClient->getAlbum(),
- mMediaScannerClient->getAlbumArtist(),
- mMediaScannerClient->getGenre(),
- mMediaScannerClient->getComposer(),
- mMediaScannerClient->getMimeType(),
- mMediaScannerClient->getTrack(),
- mMediaScannerClient->getYear(),
- mMediaScannerClient->getDuration());
- }
mDatabase->commitTransaction();
}
}
diff --git a/media/mtp/MtpMediaScanner.h b/media/mtp/MtpMediaScanner.h
index 53d5063..9cf10c5 100644
--- a/media/mtp/MtpMediaScanner.h
+++ b/media/mtp/MtpMediaScanner.h
@@ -23,16 +23,12 @@ namespace android {
class MtpDatabase;
class SqliteStatement;
-class MediaScanner;
-class MtpMediaScannerClient;
class MtpMediaScanner {
private:
MtpStorageID mStorageID;
const char* mFilePath;
MtpDatabase* mDatabase;
- MediaScanner* mMediaScanner;
- MtpMediaScannerClient* mMediaScannerClient;
// for garbage collecting missing files
MtpObjectHandle* mFileList;
@@ -45,7 +41,7 @@ public:
bool scanFiles();
private:
- MtpObjectFormat getFileFormat(const char* path, uint32_t& table);
+ MtpObjectFormat getFileFormat(const char* path);
int scanDirectory(const char* path, MtpObjectHandle parent);
void scanFile(const char* path, MtpObjectHandle parent, struct stat& statbuf);
void markFile(MtpObjectHandle handle);
diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp
index b9eeec5..3456815 100644
--- a/media/mtp/MtpServer.cpp
+++ b/media/mtp/MtpServer.cpp
@@ -533,9 +533,6 @@ MtpResponseCode MtpServer::doSendObjectInfo() {
mDatabase->rollbackTransaction();
return MTP_RESPONSE_GENERAL_ERROR;
}
- uint32_t table = MtpDatabase::getTableForFile(format);
- if (table == kObjectHandleTableAudio)
- handle = mDatabase->addAudioFile(handle);
mDatabase->commitTransaction();
if (format == MTP_FORMAT_ASSOCIATION) {
diff --git a/media/mtp/MtpSqliteDatabase.cpp b/media/mtp/MtpSqliteDatabase.cpp
index fa3bdfe..c11ba50 100644
--- a/media/mtp/MtpSqliteDatabase.cpp
+++ b/media/mtp/MtpSqliteDatabase.cpp
@@ -37,22 +37,6 @@ namespace android {
#define FILE_SIZE_COLUMN 6
#define FILE_MODIFIED_COLUMN 7
-#define AUDIO_ID_COLUMN 1
-#define AUDIO_TITLE_COLUMN 2
-#define AUDIO_ARTIST_COLUMN 3
-#define AUDIO_ALBUM_COLUMN 4
-#define AUDIO_ALBUM_ARTIST_COLUMN 5
-#define AUDIO_GENRE_COLUMN 6
-#define AUDIO_COMPOSER_COLUMN 7
-#define AUDIO_TRACK_NUMBER_COLUMN 8
-#define AUDIO_YEAR_COLUMN 9
-#define AUDIO_DURATION_COLUMN 10
-#define AUDIO_USE_COUNT_COLUMN 11
-#define AUDIO_SAMPLE_RATE_COLUMN 12
-#define AUDIO_NUM_CHANNELS_COLUMN 13
-#define AUDIO_AUDIO_WAVE_CODEC_COLUMN 14
-#define AUDIO_AUDIO_BIT_RATE_COLUMN 15
-
#define FILE_TABLE_CREATE "CREATE TABLE IF NOT EXISTS files (" \
"_id INTEGER PRIMARY KEY," \
"path TEXT," \
@@ -63,24 +47,6 @@ namespace android {
"date_modified INTEGER" \
");"
-#define AUDIO_TABLE_CREATE "CREATE TABLE IF NOT EXISTS audio (" \
- "id INTEGER PRIMARY KEY," \
- "title TEXT," \
- "artist TEXT," \
- "album TEXT," \
- "album_artist TEXT," \
- "genre TEXT," \
- "composer TEXT," \
- "track_number INTEGER," \
- "year INTEGER," \
- "duration INTEGER," \
- "use_count INTEGER," \
- "sample_rate INTEGER," \
- "num_channels INTEGER," \
- "audio_wave_codec TEXT," \
- "audio_bit_rate INTEGER" \
- ");"
-
#define PATH_INDEX_CREATE "CREATE INDEX IF NOT EXISTS path_index on files(path);"
#define FILE_ID_QUERY "SELECT _id,format FROM files WHERE path = ?;"
@@ -90,9 +56,6 @@ namespace android {
#define FILE_INSERT "INSERT INTO files VALUES(?,?,?,?,?,?,?);"
#define FILE_DELETE "DELETE FROM files WHERE _id = ?;"
-#define AUDIO_INSERT "INSERT INTO audio VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
-#define AUDIO_DELETE "DELETE FROM audio WHERE id = ?;"
-
struct PropertyTableEntry {
MtpObjectProperty property;
int type;
@@ -127,9 +90,7 @@ MtpSqliteDatabase::MtpSqliteDatabase()
mFilePathQuery(NULL),
mObjectInfoQuery(NULL),
mFileInserter(NULL),
- mFileDeleter(NULL),
- mAudioInserter(NULL),
- mAudioDeleter(NULL)
+ mFileDeleter(NULL)
{
}
@@ -140,8 +101,6 @@ MtpSqliteDatabase::~MtpSqliteDatabase() {
delete mObjectInfoQuery;
delete mFileInserter;
delete mFileDeleter;
- delete mAudioInserter;
- delete mAudioDeleter;
}
bool MtpSqliteDatabase::open(const char* path, bool create) {
@@ -159,10 +118,6 @@ bool MtpSqliteDatabase::open(const char* path, bool create) {
LOGE("could not path index on file table");
goto fail;
}
- if (!mDatabase->exec(AUDIO_TABLE_CREATE)) {
- LOGE("could not create file table");
- goto fail;
- }
if (!mFileIdQuery) {
mFileIdQuery = new SqliteStatement(mDatabase);
@@ -199,20 +154,6 @@ bool MtpSqliteDatabase::open(const char* path, bool create) {
goto fail;
}
}
- if (!mAudioInserter) {
- mAudioInserter = new SqliteStatement(mDatabase);
- if (!mAudioInserter->prepare(AUDIO_INSERT)) {
- LOGE("could not compile AUDIO_INSERT\n");
- goto fail;
- }
- }
- if (!mAudioDeleter) {
- mAudioDeleter = new SqliteStatement(mDatabase);
- if (!mAudioDeleter->prepare(AUDIO_DELETE)) {
- LOGE("could not compile AUDIO_DELETE\n");
- goto fail;
- }
- }
return true;
@@ -223,16 +164,12 @@ fail:
delete mObjectInfoQuery;
delete mFileInserter;
delete mFileDeleter;
- delete mAudioInserter;
- delete mAudioDeleter;
mDatabase = NULL;
mFileIdQuery = NULL;
mFilePathQuery = NULL;
mObjectInfoQuery = NULL;
mFileInserter = NULL;
mFileDeleter = NULL;
- mAudioInserter = NULL;
- mAudioDeleter = NULL;
return false;
}
@@ -250,7 +187,6 @@ MtpObjectHandle MtpSqliteDatabase::getObjectHandle(const char* path) {
int row = mFileIdQuery->getColumnInt(0);
if (row > 0) {
MtpObjectFormat format = mFileIdQuery->getColumnInt(1);
- row |= getTableForFile(format);
return row;
}
}
@@ -276,45 +212,6 @@ MtpObjectHandle MtpSqliteDatabase::addFile(const char* path,
return (result <= 0 ? kInvalidObjectHandle : result);
}
-MtpObjectHandle MtpSqliteDatabase::addAudioFile(MtpObjectHandle handle) {
- mAudioInserter->bind(AUDIO_ID_COLUMN, handle);
- mAudioInserter->step();
- mAudioInserter->reset();
- int result = mDatabase->lastInsertedRow();
- handle |= kObjectHandleTableAudio;
- return (result > 0 ? handle : kInvalidObjectHandle);
-}
-
-MtpObjectHandle MtpSqliteDatabase::addAudioFile(MtpObjectHandle handle,
- const char* title,
- const char* artist,
- const char* album,
- const char* albumArtist,
- const char* genre,
- const char* composer,
- const char* mimeType,
- int track,
- int year,
- int duration) {
- mAudioInserter->bind(AUDIO_ID_COLUMN, handle);
- if (title) mAudioInserter->bind(AUDIO_TITLE_COLUMN, title);
- if (artist) mAudioInserter->bind(AUDIO_ARTIST_COLUMN, artist);
- if (album) mAudioInserter->bind(AUDIO_ALBUM_COLUMN, album);
- if (albumArtist) mAudioInserter->bind(AUDIO_ALBUM_ARTIST_COLUMN, albumArtist);
- if (genre) mAudioInserter->bind(AUDIO_GENRE_COLUMN, genre);
- if (composer) mAudioInserter->bind(AUDIO_COMPOSER_COLUMN, composer);
- if (track) mAudioInserter->bind(AUDIO_TRACK_NUMBER_COLUMN, track);
- if (year) mAudioInserter->bind(AUDIO_YEAR_COLUMN, year);
- if (duration) mAudioInserter->bind(AUDIO_DURATION_COLUMN, duration);
- mAudioInserter->step();
- mAudioInserter->reset();
- int result = mDatabase->lastInsertedRow();
- if (result <= 0)
- return kInvalidObjectHandle;
- result |= kObjectHandleTableAudio;
- return result;
-}
-
MtpObjectHandleList* MtpSqliteDatabase::getObjectList(MtpStorageID storageID,
MtpObjectFormat format,
MtpObjectHandle parent) {
@@ -360,7 +257,6 @@ MtpObjectHandleList* MtpSqliteDatabase::getObjectList(MtpStorageID storageID,
LOGV("stmt.getColumnInt returned %d", index);
if (index > 0) {
MtpObjectFormat format = stmt.getColumnInt(1);
- index |= getTableForFile(format);
list->push(index);
}
}
@@ -508,11 +404,6 @@ bool MtpSqliteDatabase::deleteFile(MtpObjectHandle handle) {
mFileDeleter->bind(1, handle);
mFileDeleter->step();
mFileDeleter->reset();
- if (table == kObjectHandleTableAudio) {
- mAudioDeleter->bind(1, handle);
- mAudioDeleter->step();
- mAudioDeleter->reset();
- }
return true;
}
@@ -541,7 +432,6 @@ MtpObjectHandle* MtpSqliteDatabase::getFileList(int& outCount) {
}
MtpObjectHandle handle = stmt2.getColumnInt(0);
MtpObjectFormat format = stmt2.getColumnInt(1);
- handle |= getTableForFile(format);
result[i] = handle;
}
}
diff --git a/media/mtp/MtpSqliteDatabase.h b/media/mtp/MtpSqliteDatabase.h
index 74626a8..14ed281 100644
--- a/media/mtp/MtpSqliteDatabase.h
+++ b/media/mtp/MtpSqliteDatabase.h
@@ -35,8 +35,6 @@ private:
SqliteStatement* mObjectInfoQuery;
SqliteStatement* mFileInserter;
SqliteStatement* mFileDeleter;
- SqliteStatement* mAudioInserter;
- SqliteStatement* mAudioDeleter;
public:
MtpSqliteDatabase();
@@ -53,20 +51,6 @@ public:
uint64_t size,
time_t modified);
- virtual MtpObjectHandle addAudioFile(MtpObjectHandle id);
-
- virtual MtpObjectHandle addAudioFile(MtpObjectHandle id,
- const char* title,
- const char* artist,
- const char* album,
- const char* albumArtist,
- const char* genre,
- const char* composer,
- const char* mimeType,
- int track,
- int year,
- int duration);
-
virtual MtpObjectHandleList* getObjectList(MtpStorageID storageID,
MtpObjectFormat format,
MtpObjectHandle parent);
diff --git a/media/mtp/MtpTypes.h b/media/mtp/MtpTypes.h
index b7c79b2..33cd369 100644
--- a/media/mtp/MtpTypes.h
+++ b/media/mtp/MtpTypes.h
@@ -63,11 +63,6 @@ union MtpPropertyValue {
// MtpObjectHandle bits and masks
#define kObjectHandleMarkBit 0x80000000 // used for mark & sweep by MtpMediaScanner
#define kObjectHandleTableMask 0x70000000 // mask for object table
-#define kObjectHandleTableFile 0x00000000 // object is only in the file table
-#define kObjectHandleTableAudio 0x10000000 // object is in the audio table
-#define kObjectHandleTableVideo 0x20000000 // object is in the video table
-#define kObjectHandleTableImage 0x30000000 // object is in the images table
-#define kObjectHandleTablePlaylist 0x40000000 // object is in the playlist table
#define kObjectHandleIndexMask 0x0FFFFFFF // mask for object index in file table
class MtpStorage;