Loading camera/CameraParameters.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,19 @@ const char CameraParameters::KEY_METERING[] = "metering"; const char CameraParameters::KEY_WDR[] = "wdr"; const char CameraParameters::KEY_WEATHER[] = "weather"; const char CameraParameters::KEY_CITYID[] = "contextualtag-cityid"; const char CameraParameters::KEY_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control"; const char CameraParameters::KEY_SUPPORTED_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control-values"; const char CameraParameters::KEY_PHASE_AF[] = "phase-af"; const char CameraParameters::KEY_SUPPORTED_PHASE_AF[] = "phase-af-values"; const char CameraParameters::KEY_RT_HDR[] = "rt-hdr"; const char CameraParameters::KEY_SUPPORTED_RT_HDR[] = "rt-hdr-values"; const char CameraParameters::DRC_ON[] = "on"; const char CameraParameters::DRC_OFF[] = "off"; const char CameraParameters::PAF_ON[] = "on"; const char CameraParameters::PAF_OFF[] = "off"; const char CameraParameters::RTHDR_ON[] = "on"; const char CameraParameters::RTHDR_OFF[] = "off"; #endif #ifdef HTC_CAMERA_HARDWARE Loading cmds/screenrecord/screenrecord.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -519,8 +519,11 @@ static status_t recordScreen(const char* fileName) { // Main encoder loop. err = runEncoder(encoder, muxer); if (err != NO_ERROR) { // If err occurs, make sure the mp4 file is ended correctly, // In other words, sample table is written to the end of file. encoder->stop(); muxer->stop(); encoder->release(); encoder.clear(); return err; } Loading include/camera/CameraParameters.h +13 −0 Original line number Diff line number Diff line Loading @@ -646,6 +646,19 @@ public: static const char KEY_WDR[]; static const char KEY_WEATHER[]; static const char KEY_CITYID[]; static const char KEY_DYNAMIC_RANGE_CONTROL[]; static const char KEY_SUPPORTED_DYNAMIC_RANGE_CONTROL[]; static const char KEY_PHASE_AF[]; static const char KEY_SUPPORTED_PHASE_AF[]; static const char KEY_RT_HDR[]; static const char KEY_SUPPORTED_RT_HDR[]; static const char DRC_ON[]; static const char DRC_OFF[]; static const char PAF_ON[]; static const char PAF_OFF[]; static const char RTHDR_ON[]; static const char RTHDR_OFF[]; #endif #ifdef HTC_CAMERA_HARDWARE Loading media/libmedia/AudioTrack.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -487,6 +487,11 @@ status_t AudioTrack::set( else { #endif if (cbf != NULL) { mAudioTrackThread = new AudioTrackThread(*this, threadCanCallJava); mAudioTrackThread->run("AudioTrack", ANDROID_PRIORITY_AUDIO, 0 /*stack*/); } // create the IAudioTrack status_t status = createTrack_l(streamType, sampleRate, Loading @@ -497,11 +502,6 @@ status_t AudioTrack::set( output, 0 /*epoch*/); if (cbf != NULL && status == NO_ERROR) { mAudioTrackThread = new AudioTrackThread(*this, threadCanCallJava); mAudioTrackThread->run("AudioTrack", ANDROID_PRIORITY_AUDIO, 0 /*stack*/); } if (status != NO_ERROR) { if (mAudioTrackThread != 0) { mAudioTrackThread->requestExit(); // see comment in AudioTrack.h Loading Loading @@ -1639,10 +1639,7 @@ nsecs_t AudioTrack::processAudioBuffer(const sp<AudioTrackThread>& thread) // Currently the AudioTrack thread is not created if there are no callbacks. // Would it ever make sense to run the thread, even without callbacks? // If so, then replace this by checks at each use for mCbf != NULL. if (mCblk == NULL) { ALOGE("mCblk is NULL"); return NS_NEVER; } LOG_ALWAYS_FATAL_IF(mCblk == NULL); mLock.lock(); if (mAwaitBoost) { Loading media/libmedia/MediaScannerClient.cpp +8 −81 Original line number Diff line number Diff line Loading @@ -14,11 +14,6 @@ * limitations under the License. */ //#define LOG_NDEBUG 0 #define LOG_TAG "MediaScannerClient" #include <utils/Log.h> #include <media/mediascanner.h> #include "StringArray.h" Loading Loading @@ -46,11 +41,7 @@ void MediaScannerClient::setLocale(const char* locale) { if (!locale) return; if (!strncmp(locale, "en_US", 5)) mLocaleEncoding = kEncodingUTF8; else if (!strncmp(locale, "es_US", 5) || !strncmp(locale, "de_DE", 5)) mLocaleEncoding = kEncodingCP1252; else if (!strncmp(locale, "ja", 2)) if (!strncmp(locale, "ja", 2)) mLocaleEncoding = kEncodingShiftJIS; else if (!strncmp(locale, "ko", 2)) mLocaleEncoding = kEncodingEUCKR; Loading @@ -63,7 +54,6 @@ void MediaScannerClient::setLocale(const char* locale) mLocaleEncoding = kEncodingBig5; } } ALOGV("setLocale [%s], mLocaleEncoding [%u]", locale, mLocaleEncoding); } void MediaScannerClient::beginFile() Loading Loading @@ -145,9 +135,6 @@ void MediaScannerClient::convertValues(uint32_t encoding) case kEncodingEUCKR: enc = "EUC-KR"; break; case kEncodingCP1252: enc = "windows-1252"; break; } if (enc) { Loading Loading @@ -214,76 +201,16 @@ void MediaScannerClient::endFile() { if (mLocaleEncoding != kEncodingNone) { int size = mNames->size(); int count = 0; int percent = 0; uint32_t encoding = kEncodingAll; uint32_t tmpEncoding = kEncodingAll; uint32_t srcEncoding = kEncodingNone; // compute a bit mask containing all possible encodings for (int i = 0; i < mNames->size(); i++) { tmpEncoding = possibleEncodings(mValues->getEntry(i)); // If no multibyte encoding is detected or GBK is the only possible multibyte encoding, // just ignore if( (kEncodingNone == tmpEncoding) || ((kEncodingGBK | kEncodingCP1252) == tmpEncoding) ) { continue; } if( kEncodingCP1252 == tmpEncoding ) { ++count; continue; } encoding &= tmpEncoding; ALOGV("value: %s, tmpEncoding: %x\n", mValues->getEntry(i), tmpEncoding); } if(size > 0) { percent = (count*100)/size; } if(percent >= 50) { ALOGV("Force kEncodingAll, percentage: %d\n", percent); encoding = kEncodingAll; } ALOGV("possibleEncodings: %x\n", encoding); /* ** Leave the highest encoding methodolgy in bit mask, ** EXCEPT: ** ASCII characters are detected. ** Locale encodings matches. ** GBK is one of the encodings. */ while( kEncodingNone != encoding ) { // If bit mask contains all possible encodings, // that probably means ASCII char is detected. // Don't need convertion. if(kEncodingAll == encoding) { srcEncoding = kEncodingAll; break; } // Set locale native encoding, if it matches. if(encoding & mLocaleEncoding) { srcEncoding = mLocaleEncoding; break; } // Set GBK as preference, if GBK is one of the possible encodings. if(encoding & kEncodingGBK) { srcEncoding = kEncodingGBK; break; } // compute a bit mask containing all possible encodings for (int i = 0; i < mNames->size(); i++) encoding &= possibleEncodings(mValues->getEntry(i)); // Clear the lowest bit in bit mask and continue to loop srcEncoding = encoding; encoding &= (encoding - 1); } // if the locale encoding matches, then assume we have a native encoding. if (encoding & mLocaleEncoding) convertValues(mLocaleEncoding); if( (kEncodingNone != srcEncoding) && (kEncodingAll != srcEncoding) ) { convertValues(srcEncoding); } // finally, push all name/value pairs to the client for (int i = 0; i < mNames->size(); i++) { status_t status = handleStringTag(mNames->getEntry(i), mValues->getEntry(i)); Loading Loading
camera/CameraParameters.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,19 @@ const char CameraParameters::KEY_METERING[] = "metering"; const char CameraParameters::KEY_WDR[] = "wdr"; const char CameraParameters::KEY_WEATHER[] = "weather"; const char CameraParameters::KEY_CITYID[] = "contextualtag-cityid"; const char CameraParameters::KEY_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control"; const char CameraParameters::KEY_SUPPORTED_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control-values"; const char CameraParameters::KEY_PHASE_AF[] = "phase-af"; const char CameraParameters::KEY_SUPPORTED_PHASE_AF[] = "phase-af-values"; const char CameraParameters::KEY_RT_HDR[] = "rt-hdr"; const char CameraParameters::KEY_SUPPORTED_RT_HDR[] = "rt-hdr-values"; const char CameraParameters::DRC_ON[] = "on"; const char CameraParameters::DRC_OFF[] = "off"; const char CameraParameters::PAF_ON[] = "on"; const char CameraParameters::PAF_OFF[] = "off"; const char CameraParameters::RTHDR_ON[] = "on"; const char CameraParameters::RTHDR_OFF[] = "off"; #endif #ifdef HTC_CAMERA_HARDWARE Loading
cmds/screenrecord/screenrecord.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -519,8 +519,11 @@ static status_t recordScreen(const char* fileName) { // Main encoder loop. err = runEncoder(encoder, muxer); if (err != NO_ERROR) { // If err occurs, make sure the mp4 file is ended correctly, // In other words, sample table is written to the end of file. encoder->stop(); muxer->stop(); encoder->release(); encoder.clear(); return err; } Loading
include/camera/CameraParameters.h +13 −0 Original line number Diff line number Diff line Loading @@ -646,6 +646,19 @@ public: static const char KEY_WDR[]; static const char KEY_WEATHER[]; static const char KEY_CITYID[]; static const char KEY_DYNAMIC_RANGE_CONTROL[]; static const char KEY_SUPPORTED_DYNAMIC_RANGE_CONTROL[]; static const char KEY_PHASE_AF[]; static const char KEY_SUPPORTED_PHASE_AF[]; static const char KEY_RT_HDR[]; static const char KEY_SUPPORTED_RT_HDR[]; static const char DRC_ON[]; static const char DRC_OFF[]; static const char PAF_ON[]; static const char PAF_OFF[]; static const char RTHDR_ON[]; static const char RTHDR_OFF[]; #endif #ifdef HTC_CAMERA_HARDWARE Loading
media/libmedia/AudioTrack.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -487,6 +487,11 @@ status_t AudioTrack::set( else { #endif if (cbf != NULL) { mAudioTrackThread = new AudioTrackThread(*this, threadCanCallJava); mAudioTrackThread->run("AudioTrack", ANDROID_PRIORITY_AUDIO, 0 /*stack*/); } // create the IAudioTrack status_t status = createTrack_l(streamType, sampleRate, Loading @@ -497,11 +502,6 @@ status_t AudioTrack::set( output, 0 /*epoch*/); if (cbf != NULL && status == NO_ERROR) { mAudioTrackThread = new AudioTrackThread(*this, threadCanCallJava); mAudioTrackThread->run("AudioTrack", ANDROID_PRIORITY_AUDIO, 0 /*stack*/); } if (status != NO_ERROR) { if (mAudioTrackThread != 0) { mAudioTrackThread->requestExit(); // see comment in AudioTrack.h Loading Loading @@ -1639,10 +1639,7 @@ nsecs_t AudioTrack::processAudioBuffer(const sp<AudioTrackThread>& thread) // Currently the AudioTrack thread is not created if there are no callbacks. // Would it ever make sense to run the thread, even without callbacks? // If so, then replace this by checks at each use for mCbf != NULL. if (mCblk == NULL) { ALOGE("mCblk is NULL"); return NS_NEVER; } LOG_ALWAYS_FATAL_IF(mCblk == NULL); mLock.lock(); if (mAwaitBoost) { Loading
media/libmedia/MediaScannerClient.cpp +8 −81 Original line number Diff line number Diff line Loading @@ -14,11 +14,6 @@ * limitations under the License. */ //#define LOG_NDEBUG 0 #define LOG_TAG "MediaScannerClient" #include <utils/Log.h> #include <media/mediascanner.h> #include "StringArray.h" Loading Loading @@ -46,11 +41,7 @@ void MediaScannerClient::setLocale(const char* locale) { if (!locale) return; if (!strncmp(locale, "en_US", 5)) mLocaleEncoding = kEncodingUTF8; else if (!strncmp(locale, "es_US", 5) || !strncmp(locale, "de_DE", 5)) mLocaleEncoding = kEncodingCP1252; else if (!strncmp(locale, "ja", 2)) if (!strncmp(locale, "ja", 2)) mLocaleEncoding = kEncodingShiftJIS; else if (!strncmp(locale, "ko", 2)) mLocaleEncoding = kEncodingEUCKR; Loading @@ -63,7 +54,6 @@ void MediaScannerClient::setLocale(const char* locale) mLocaleEncoding = kEncodingBig5; } } ALOGV("setLocale [%s], mLocaleEncoding [%u]", locale, mLocaleEncoding); } void MediaScannerClient::beginFile() Loading Loading @@ -145,9 +135,6 @@ void MediaScannerClient::convertValues(uint32_t encoding) case kEncodingEUCKR: enc = "EUC-KR"; break; case kEncodingCP1252: enc = "windows-1252"; break; } if (enc) { Loading Loading @@ -214,76 +201,16 @@ void MediaScannerClient::endFile() { if (mLocaleEncoding != kEncodingNone) { int size = mNames->size(); int count = 0; int percent = 0; uint32_t encoding = kEncodingAll; uint32_t tmpEncoding = kEncodingAll; uint32_t srcEncoding = kEncodingNone; // compute a bit mask containing all possible encodings for (int i = 0; i < mNames->size(); i++) { tmpEncoding = possibleEncodings(mValues->getEntry(i)); // If no multibyte encoding is detected or GBK is the only possible multibyte encoding, // just ignore if( (kEncodingNone == tmpEncoding) || ((kEncodingGBK | kEncodingCP1252) == tmpEncoding) ) { continue; } if( kEncodingCP1252 == tmpEncoding ) { ++count; continue; } encoding &= tmpEncoding; ALOGV("value: %s, tmpEncoding: %x\n", mValues->getEntry(i), tmpEncoding); } if(size > 0) { percent = (count*100)/size; } if(percent >= 50) { ALOGV("Force kEncodingAll, percentage: %d\n", percent); encoding = kEncodingAll; } ALOGV("possibleEncodings: %x\n", encoding); /* ** Leave the highest encoding methodolgy in bit mask, ** EXCEPT: ** ASCII characters are detected. ** Locale encodings matches. ** GBK is one of the encodings. */ while( kEncodingNone != encoding ) { // If bit mask contains all possible encodings, // that probably means ASCII char is detected. // Don't need convertion. if(kEncodingAll == encoding) { srcEncoding = kEncodingAll; break; } // Set locale native encoding, if it matches. if(encoding & mLocaleEncoding) { srcEncoding = mLocaleEncoding; break; } // Set GBK as preference, if GBK is one of the possible encodings. if(encoding & kEncodingGBK) { srcEncoding = kEncodingGBK; break; } // compute a bit mask containing all possible encodings for (int i = 0; i < mNames->size(); i++) encoding &= possibleEncodings(mValues->getEntry(i)); // Clear the lowest bit in bit mask and continue to loop srcEncoding = encoding; encoding &= (encoding - 1); } // if the locale encoding matches, then assume we have a native encoding. if (encoding & mLocaleEncoding) convertValues(mLocaleEncoding); if( (kEncodingNone != srcEncoding) && (kEncodingAll != srcEncoding) ) { convertValues(srcEncoding); } // finally, push all name/value pairs to the client for (int i = 0; i < mNames->size(); i++) { status_t status = handleStringTag(mNames->getEntry(i), mValues->getEntry(i)); Loading