summaryrefslogtreecommitdiffstats
path: root/media/jni/android_mtp_MtpDatabase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/jni/android_mtp_MtpDatabase.cpp')
-rw-r--r--media/jni/android_mtp_MtpDatabase.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/media/jni/android_mtp_MtpDatabase.cpp b/media/jni/android_mtp_MtpDatabase.cpp
index ea75a18..82c6a80 100644
--- a/media/jni/android_mtp_MtpDatabase.cpp
+++ b/media/jni/android_mtp_MtpDatabase.cpp
@@ -1000,6 +1000,22 @@ MtpResponseCode MyMtpDatabase::setObjectReferences(MtpObjectHandle handle,
MtpProperty* MyMtpDatabase::getObjectPropertyDesc(MtpObjectProperty property,
MtpObjectFormat format) {
+ static const int channelEnum[] = {
+ 1, // mono
+ 2, // stereo
+ 3, // 2.1
+ 4, // 3
+ 5, // 3.1
+ 6, // 4
+ 7, // 4.1
+ 8, // 5
+ 9, // 5.1
+ };
+ static const int bitrateEnum[] = {
+ 1, // fixed rate
+ 2, // variable rate
+ };
+
MtpProperty* result = NULL;
switch (property) {
case MTP_PROPERTY_OBJECT_FORMAT:
@@ -1013,6 +1029,7 @@ MtpProperty* MyMtpDatabase::getObjectPropertyDesc(MtpObjectProperty property,
case MTP_PROPERTY_STORAGE_ID:
case MTP_PROPERTY_PARENT_OBJECT:
case MTP_PROPERTY_DURATION:
+ case MTP_PROPERTY_AUDIO_WAVE_CODEC:
result = new MtpProperty(property, MTP_TYPE_UINT32);
break;
case MTP_PROPERTY_OBJECT_SIZE:
@@ -1041,6 +1058,22 @@ MtpProperty* MyMtpDatabase::getObjectPropertyDesc(MtpObjectProperty property,
// We allow renaming files and folders
result = new MtpProperty(property, MTP_TYPE_STR, true);
break;
+ case MTP_PROPERTY_BITRATE_TYPE:
+ result = new MtpProperty(property, MTP_TYPE_UINT16);
+ result->setFormEnum(bitrateEnum, sizeof(bitrateEnum)/sizeof(bitrateEnum[0]));
+ break;
+ case MTP_PROPERTY_AUDIO_BITRATE:
+ result = new MtpProperty(property, MTP_TYPE_UINT32);
+ result->setFormRange(1, 1536000, 1);
+ break;
+ case MTP_PROPERTY_NUMBER_OF_CHANNELS:
+ result = new MtpProperty(property, MTP_TYPE_UINT16);
+ result->setFormEnum(channelEnum, sizeof(channelEnum)/sizeof(channelEnum[0]));
+ break;
+ case MTP_PROPERTY_SAMPLE_RATE:
+ result = new MtpProperty(property, MTP_TYPE_UINT32);
+ result->setFormRange(8000, 48000, 1);
+ break;
}
return result;