Loading media/java/android/mtp/MtpDatabase.java +5 −0 Original line number Diff line number Diff line Loading @@ -596,6 +596,11 @@ public class MtpDatabase { MtpConstants.PROPERTY_DURATION, MtpConstants.PROPERTY_GENRE, MtpConstants.PROPERTY_COMPOSER, MtpConstants.PROPERTY_AUDIO_WAVE_CODEC, MtpConstants.PROPERTY_BITRATE_TYPE, MtpConstants.PROPERTY_AUDIO_BITRATE, MtpConstants.PROPERTY_NUMBER_OF_CHANNELS, MtpConstants.PROPERTY_SAMPLE_RATE, }; static final int[] VIDEO_PROPERTIES = { Loading media/jni/android_mtp_MtpDatabase.cpp +33 −0 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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: Loading Loading @@ -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; Loading Loading
media/java/android/mtp/MtpDatabase.java +5 −0 Original line number Diff line number Diff line Loading @@ -596,6 +596,11 @@ public class MtpDatabase { MtpConstants.PROPERTY_DURATION, MtpConstants.PROPERTY_GENRE, MtpConstants.PROPERTY_COMPOSER, MtpConstants.PROPERTY_AUDIO_WAVE_CODEC, MtpConstants.PROPERTY_BITRATE_TYPE, MtpConstants.PROPERTY_AUDIO_BITRATE, MtpConstants.PROPERTY_NUMBER_OF_CHANNELS, MtpConstants.PROPERTY_SAMPLE_RATE, }; static final int[] VIDEO_PROPERTIES = { Loading
media/jni/android_mtp_MtpDatabase.cpp +33 −0 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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: Loading Loading @@ -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; Loading