Loading camera/provider/2.6/ICameraProvider.hal +10 −6 Original line number Diff line number Diff line Loading @@ -76,12 +76,16 @@ interface ICameraProvider extends @2.5::ICameraProvider { * configuration settings exposed through camera metadata), should the sum * of resource costs for the combination be <= 100. * * The lists of camera id combinations returned by this method may contain * hidden physical camera ids. If a combination does contain hidden physical * camera ids, the camera framework must be able to open any logical cameras * that contain these hidden physical camera ids in their * ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS list, in addition to the other * camera ids advertised in the combination, for concurrent operation. * For guaranteed concurrent camera operation, the camera framework must call * ICameraDevice.open() on all devices (intended for concurrent operation), before configuring * any streams on them. This gives the camera HAL process an opportunity to potentially * distribute hardware resources better before stream configuration. * * Due to potential hardware constraints around internal switching of physical camera devices, * a device's complete ZOOM_RATIO_RANGE(if supported), may not apply during concurrent * operation. If ZOOM_RATIO is supported, camera HALs must ensure ZOOM_RATIO_RANGE of * [1.0, ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM] is supported by that device, during * concurrent operation. * * @return status Status code for the operation * @return cameraIds a list of camera id combinations that support Loading current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -677,7 +677,7 @@ eb90c4d366f05a025d1d1a3672f8b4c3e33e420fa387f73f21b264645bfdf845 android.hardwar a718c8a3acaa938de5a57923e8c4625ed7ca051e05a1d930ba6998557d7b57c8 android.hardware.camera.device@3.6::ICameraOfflineSession a35d5151b48505f06a775b38c0e2e265f80a845d92802324c643565807f81c53 android.hardware.camera.device@3.6::types 02bdf82dba7dce273a554b4474468a8fb1fb4f61ab65da95eb16e080df63fff6 android.hardware.camera.metadata@3.5::types 21086e1c7a2acc0ebe0ff8561b11f3c2009be687a92d79b608a5f00b16c5f598 android.hardware.camera.provider@2.6::ICameraProvider 7d6b362681f4a4fd0be95535d8913d8de9a26f0765c1bdda4bd837dea8c25db6 android.hardware.camera.provider@2.6::ICameraProvider 8f8d9463508ff9cae88eb35c429fd0e2dbca0ca8f5de7fdf836cc0c4370becb6 android.hardware.camera.provider@2.6::ICameraProviderCallback 1edf7aef68ef3bd577a1175b1462fb82e3e39f01c6915dda61fba121028df283 android.hardware.camera.provider@2.6::types c1aa508d00b66ed5feefea398fd5edf28fa651ac89773adad7dfda4e0a73a952 android.hardware.cas@1.2::ICas Loading tv/tuner/1.0/default/Demux.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -93,9 +93,9 @@ Return<void> Demux::openFilter(const DemuxFilterType& type, uint32_t bufferSize, Return<void> Demux::openTimeFilter(openTimeFilter_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); sp<TimeFilter> timeFilter = new TimeFilter(this); mTimeFilter = new TimeFilter(this); _hidl_cb(Result::SUCCESS, timeFilter); _hidl_cb(Result::SUCCESS, mTimeFilter); return Void(); } Loading tv/tuner/1.0/default/Demux.h +5 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,11 @@ class Demux : public IDemux { */ std::map<uint32_t, sp<Filter>> mFilters; /** * Local reference to the opened Timer Filter instance. */ sp<TimeFilter> mTimeFilter; /** * Local reference to the opened DVR object. */ Loading tv/tuner/1.0/default/TimeFilter.cpp +13 −4 Original line number Diff line number Diff line Loading @@ -34,24 +34,32 @@ TimeFilter::TimeFilter(sp<Demux> demux) { TimeFilter::~TimeFilter() {} Return<Result> TimeFilter::setTimeStamp(uint64_t /* timeStamp */) { Return<Result> TimeFilter::setTimeStamp(uint64_t timeStamp) { ALOGV("%s", __FUNCTION__); if (timeStamp == INVALID_TIME_STAMP) { return Result::INVALID_ARGUMENT; } mTimeStamp = timeStamp; mBeginTime = time(NULL); return Result::SUCCESS; } Return<Result> TimeFilter::clearTimeStamp() { ALOGV("%s", __FUNCTION__); mTimeStamp = INVALID_TIME_STAMP; return Result::SUCCESS; } Return<void> TimeFilter::getTimeStamp(getTimeStamp_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); if (mTimeStamp == INVALID_TIME_STAMP) { _hidl_cb(Result::INVALID_STATE, mTimeStamp); } uint64_t timeStamp = 0; _hidl_cb(Result::SUCCESS, timeStamp); uint64_t currentTimeStamp = mTimeStamp + difftime(time(NULL), mBeginTime) * 900000; _hidl_cb(Result::SUCCESS, currentTimeStamp); return Void(); } Loading @@ -66,6 +74,7 @@ Return<void> TimeFilter::getSourceTime(getSourceTime_cb _hidl_cb) { Return<Result> TimeFilter::close() { ALOGV("%s", __FUNCTION__); mTimeStamp = INVALID_TIME_STAMP; return Result::SUCCESS; } Loading Loading
camera/provider/2.6/ICameraProvider.hal +10 −6 Original line number Diff line number Diff line Loading @@ -76,12 +76,16 @@ interface ICameraProvider extends @2.5::ICameraProvider { * configuration settings exposed through camera metadata), should the sum * of resource costs for the combination be <= 100. * * The lists of camera id combinations returned by this method may contain * hidden physical camera ids. If a combination does contain hidden physical * camera ids, the camera framework must be able to open any logical cameras * that contain these hidden physical camera ids in their * ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS list, in addition to the other * camera ids advertised in the combination, for concurrent operation. * For guaranteed concurrent camera operation, the camera framework must call * ICameraDevice.open() on all devices (intended for concurrent operation), before configuring * any streams on them. This gives the camera HAL process an opportunity to potentially * distribute hardware resources better before stream configuration. * * Due to potential hardware constraints around internal switching of physical camera devices, * a device's complete ZOOM_RATIO_RANGE(if supported), may not apply during concurrent * operation. If ZOOM_RATIO is supported, camera HALs must ensure ZOOM_RATIO_RANGE of * [1.0, ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM] is supported by that device, during * concurrent operation. * * @return status Status code for the operation * @return cameraIds a list of camera id combinations that support Loading
current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -677,7 +677,7 @@ eb90c4d366f05a025d1d1a3672f8b4c3e33e420fa387f73f21b264645bfdf845 android.hardwar a718c8a3acaa938de5a57923e8c4625ed7ca051e05a1d930ba6998557d7b57c8 android.hardware.camera.device@3.6::ICameraOfflineSession a35d5151b48505f06a775b38c0e2e265f80a845d92802324c643565807f81c53 android.hardware.camera.device@3.6::types 02bdf82dba7dce273a554b4474468a8fb1fb4f61ab65da95eb16e080df63fff6 android.hardware.camera.metadata@3.5::types 21086e1c7a2acc0ebe0ff8561b11f3c2009be687a92d79b608a5f00b16c5f598 android.hardware.camera.provider@2.6::ICameraProvider 7d6b362681f4a4fd0be95535d8913d8de9a26f0765c1bdda4bd837dea8c25db6 android.hardware.camera.provider@2.6::ICameraProvider 8f8d9463508ff9cae88eb35c429fd0e2dbca0ca8f5de7fdf836cc0c4370becb6 android.hardware.camera.provider@2.6::ICameraProviderCallback 1edf7aef68ef3bd577a1175b1462fb82e3e39f01c6915dda61fba121028df283 android.hardware.camera.provider@2.6::types c1aa508d00b66ed5feefea398fd5edf28fa651ac89773adad7dfda4e0a73a952 android.hardware.cas@1.2::ICas Loading
tv/tuner/1.0/default/Demux.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -93,9 +93,9 @@ Return<void> Demux::openFilter(const DemuxFilterType& type, uint32_t bufferSize, Return<void> Demux::openTimeFilter(openTimeFilter_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); sp<TimeFilter> timeFilter = new TimeFilter(this); mTimeFilter = new TimeFilter(this); _hidl_cb(Result::SUCCESS, timeFilter); _hidl_cb(Result::SUCCESS, mTimeFilter); return Void(); } Loading
tv/tuner/1.0/default/Demux.h +5 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,11 @@ class Demux : public IDemux { */ std::map<uint32_t, sp<Filter>> mFilters; /** * Local reference to the opened Timer Filter instance. */ sp<TimeFilter> mTimeFilter; /** * Local reference to the opened DVR object. */ Loading
tv/tuner/1.0/default/TimeFilter.cpp +13 −4 Original line number Diff line number Diff line Loading @@ -34,24 +34,32 @@ TimeFilter::TimeFilter(sp<Demux> demux) { TimeFilter::~TimeFilter() {} Return<Result> TimeFilter::setTimeStamp(uint64_t /* timeStamp */) { Return<Result> TimeFilter::setTimeStamp(uint64_t timeStamp) { ALOGV("%s", __FUNCTION__); if (timeStamp == INVALID_TIME_STAMP) { return Result::INVALID_ARGUMENT; } mTimeStamp = timeStamp; mBeginTime = time(NULL); return Result::SUCCESS; } Return<Result> TimeFilter::clearTimeStamp() { ALOGV("%s", __FUNCTION__); mTimeStamp = INVALID_TIME_STAMP; return Result::SUCCESS; } Return<void> TimeFilter::getTimeStamp(getTimeStamp_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); if (mTimeStamp == INVALID_TIME_STAMP) { _hidl_cb(Result::INVALID_STATE, mTimeStamp); } uint64_t timeStamp = 0; _hidl_cb(Result::SUCCESS, timeStamp); uint64_t currentTimeStamp = mTimeStamp + difftime(time(NULL), mBeginTime) * 900000; _hidl_cb(Result::SUCCESS, currentTimeStamp); return Void(); } Loading @@ -66,6 +74,7 @@ Return<void> TimeFilter::getSourceTime(getSourceTime_cb _hidl_cb) { Return<Result> TimeFilter::close() { ALOGV("%s", __FUNCTION__); mTimeStamp = INVALID_TIME_STAMP; return Result::SUCCESS; } Loading