@@ -10,6 +10,7 @@ import android.net.Uri
1010import android.os.Build
1111import android.provider.MediaStore
1212import android.util.Log
13+ import android.util.Range
1314import android.util.Size
1415import android.view.MotionEvent
1516import android.view.View
@@ -85,6 +86,7 @@ class CamConfig(private val mActivity: MainActivity) {
8586 const val EMPHASIS_ON_QUALITY = " emphasis_on_quality"
8687 const val FOCUS_TIMEOUT = " focus_timeout"
8788 const val VIDEO_QUALITY = " video_quality"
89+ const val VIDEO_FRAME_RATE = " video_frame_rate"
8890 const val ASPECT_RATIO = " aspect_ratio"
8991 const val INCLUDE_AUDIO = " include_audio"
9092 const val ENABLE_EIS = " enable_eis"
@@ -122,6 +124,8 @@ class CamConfig(private val mActivity: MainActivity) {
122124
123125 val VIDEO_QUALITY = Quality .HIGHEST
124126
127+ val VIDEO_FRAME_RATE = Range <Int >(30 , 30 )
128+
125129 const val SELF_ILLUMINATION = false
126130
127131 const val GEO_TAGGING = false
@@ -343,6 +347,36 @@ class CamConfig(private val mActivity: MainActivity) {
343347 return " ${SettingValues .Key .VIDEO_QUALITY } _$pf "
344348 }
345349
350+ var videoFrameRate: Range <Int > = SettingValues .Default .VIDEO_FRAME_RATE
351+ get() {
352+ return if (modePref.contains(videoFrameRateKey)) {
353+ mActivity.settingsDialog.titleToFrameRateRange(
354+ modePref.getString(videoFrameRateKey, " " )!!
355+ )
356+
357+ } else {
358+ SettingValues .Default .VIDEO_FRAME_RATE
359+ }
360+ }
361+ set(value) {
362+ modePref.edit {
363+ putString(videoFrameRateKey, mActivity.settingsDialog.getTitleForFrameRateRange(value))
364+ }
365+
366+ field = value
367+ }
368+
369+ val videoFrameRateKey : String
370+ get() {
371+ val pf = if (lensFacing == CameraSelector .LENS_FACING_FRONT ) {
372+ " FRONT"
373+ } else {
374+ " BACK"
375+ }
376+
377+ return " ${SettingValues .Key .VIDEO_FRAME_RATE } _$pf "
378+ }
379+
346380 var flashMode: Int
347381 get() = if (imageCapture != null ) imageCapture!! .flashMode else
348382 SettingValues .Default .FLASH_MODE
@@ -671,7 +705,7 @@ class CamConfig(private val mActivity: MainActivity) {
671705 }
672706
673707 if (isVideoMode) {
674- mActivity.settingsDialog.reloadQualities ()
708+ mActivity.settingsDialog.reloadVideoSettings ()
675709 }
676710
677711 if (lensFacing == CameraSelector .LENS_FACING_FRONT ) {
0 commit comments