[Samsung Galaxy 551 Callisto] steve8x8:
While I agree with the former: it's not super laggy, in particular if you change the governor to smartassv2 and the io scheduler to deadline (although sio does a good job=.

Who says that this device will ever be connected to G? (Okay, I can always install a backup copy from somewhere. Still it was a nice thing to have, but OTOH for most testing purposes I use adb shell now.)

I always thought that the g5 wasn't too far from the callisto, but sure, it's the details, and I'm probably missing most of them.

Downloaded, copied into /system/lib/hw, fixed permissions, renamed, then started Camera app.

Here's the changelog starting before switching to video mode until after switching back to still:

E/SensorHAL( 750): +__poll_activate: handle=1 enabled=0
D/CAM_PhotoModule( 5400): remove idle handleer in onPause
V/CAM_PhotoModule( 5400): On pause.
V/CAM_PhotoModule( 5400): stopPreview
I/CameraClient( 5373): stopPreview: Disable picture related messages
I/QualcommCameraHardware( 5373): deinitPreview E
I/QualcommCameraHardware( 5373): deinitPreview X
V/CAM_PhotoModule( 5400): Close camera device.
D/QualcommCameraHardware( 5373): frame_thread X
I/CameraClient( 5373): stopPreview: Disable picture related messages
W/CAM_UI ( 5400): SurfaceTexture destroyed
E/mm-camera( 5373): LENS ROLLOFF not supported on this SENSOR!!!
V/CAM_VideoModule( 5400): mDesiredPreviewWidth=320. mDesiredPreviewHeight=240
V/CAM_VideoModule( 5400): Video Encoder selected = 2
V/CAM_VideoModule( 5400): Audio Encoder selected = 3
V/CAM_VideoModule( 5400): mDesiredPreviewWidth=320. mDesiredPreviewHeight=240
V/CAM_VideoModule( 5400): Video Encoder selected = 2
V/CAM_VideoModule( 5400): Audio Encoder selected = 3
V/CAM_VideoModule( 5400): startPreview
V/CAM_VideoModule( 5400): onOrientationChanged, update parameters
V/CAM_VideoModule( 5400): startPreview
D/CAM_VideoModule( 5400): Preview dimension in App->320X240
E/CAM_VideoModule( 5400): Video dimension in App->320x240
V/CAM_VideoModule( 5400): Video snapshot size is 1600x1200
V/CAM_VideoModule( 5400): Color effect value =none
V/CAM_VideoModule( 5400): DIS value =disable
D/CAM_VideoModule( 5400): default antibanding value = off
D/CAM_VideoModule( 5400): antiBanding value = off
V/CAM_VideoModule( 5400): Video HDR Setting =off
D/Util ( 5400): Parameters: [antibanding-values=off,50hz,60hz,auto, antibanding=off, auto-exposure-values=frame-average,center-weighted,spot-metering, contrast-def=2, contrast-max=4, contrast=2, effect-values=none,mono,negative,sepia, effect=none, exposure-compensation-step=1, exposure-compensation=0, flash-mode-values=off,auto,on,torch, flash-mode=off, focus-mode-values=, focus-mode=auto, gps-timestamp=1442518782, hdr-need-1x=false, horizontal-view-angle=51.2, iso-values=auto,ISO100,ISO200,ISO400, iso=auto, jpeg-quality=100, jpeg-thumbnail-height=384, jpeg-thumbnail-quality=90, jpeg-thumbnail-width=512, lensshade-values=enable,disable, lensshade=enable, luma-adaptation=3, max-contrast=4, max-exposure-compensation=4, max-saturation=4, max-sharpness=4, max-zoom=39, metering=frame-average, min-exposure-compensation=-2, picture-format-values=jpeg,raw, picture-format=jpeg, picture-size-values=1600x1200,1280x768,1280x720,1024x768,800x480,640x480,352x288,320x240,176x144, picture-size=1600x1200, preferred-preview-size-for-video=480x320, preview-format-values=yuv420sp, preview-format=yuv420sp, preview-fps-range-values=(10,25), preview-fps-range=10,25, preview-frame-rate-values=10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, preview-frame-rate=15, preview-size-values=800x480,768x432,640x480,576x432,480x320,384x288,352x288,320x240,240x160,176x144, preview-size=320x240, recording-hint=true, rotation=90, saturation-def=2, saturation-max=4, saturation=2, sharpness-def=2, sharpness-max=4, sharpness=2, vertical-view-angle=39.4, video-frame-format=yuv420sp, video-hdr=off, video-hfr=off, video-size-values=640x480,576x432,480x320,384x288,352x288,320x240,240x160,176x144, video-size=320x240, whitebalance-values=auto,daylight,cloudy-daylight,fluorescent,incandescent, whitebalance=auto, zoom-ratios=100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300, zoom-supported=true, zoom=0]
E/mm-camera( 5373): LENS ROLLOFF not supported on this SENSOR!!!
D/QualcommCameraHardware( 5373): mBufferSize=115200, mAlignedBufferSize=118784
D/QualcommCameraHardware( 5373): num_buffers = 4
D/QualcommCameraHardware( 5373): frame_thread E
D/CameraStorage( 5400): External storage state=mounted
D/QualcommCameraHardware( 5373): ctrlCmd.value = 60
D/QualcommCameraHardware( 5373): Maximum zoom value is 39
V/CAM_VideoModule( 5400): startVideoRecording
D/CameraStorage( 5400): External storage state=mounted
V/CAM_VideoModule( 5400): initializeRecorder
W/StagefrightRecorder( 5373): Max file duration is not positive: 0 us. Disabling duration limit.
W/StagefrightRecorder( 5373): Target duration (0 us) too short to be respected
V/CAM_VideoModule( 5400): New video filename: /storage/sdcard0/DCIM/Camera/VID_20150917_214033.mp4.tmp
E/mm-camera( 5373): LENS ROLLOFF not supported on this SENSOR!!!
I/AudioHardwareMSM72XX( 5373): disabling post proc features with mask 0x0000
E/CameraSource( 5373): Failed to set video frame size to 320x240. The actual video size is 480x320
E/MediaRecorder( 5400): start failed: -19
E/CAM_VideoModule( 5400): Could not start media recorder.
E/CAM_VideoModule( 5400): java.lang.RuntimeException: start failed.
E/CAM_VideoModule( 5400):	at android.media.MediaRecorder.start(Native Method)
E/CAM_VideoModule( 5400):	at com.android.camera.VideoModule.startVideoRecording(VideoModule.java:1656)
E/CAM_VideoModule( 5400):	at com.android.camera.VideoModule.onShutterButtonClick(VideoModule.java:730)
E/CAM_VideoModule( 5400):	at com.android.camera.ShutterButton.performClick(ShutterButton.java:142)
E/CAM_VideoModule( 5400):	at android.view.View$PerformClick.run(View.java:18446)
E/CAM_VideoModule( 5400):	at android.os.Handler.handleCallback(Handler.java:733)
E/CAM_VideoModule( 5400):	at android.os.Handler.dispatchMessage(Handler.java:95)
E/CAM_VideoModule( 5400):	at android.os.Looper.loop(Looper.java:136)
E/CAM_VideoModule( 5400):	at android.app.ActivityThread.main(ActivityThread.java:5179)
E/CAM_VideoModule( 5400):	at java.lang.reflect.Method.invokeNative(Native Method)
E/CAM_VideoModule( 5400):	at java.lang.reflect.Method.invoke(Method.java:515)
E/CAM_VideoModule( 5400):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
E/CAM_VideoModule( 5400):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
E/CAM_VideoModule( 5400):	at dalvik.system.NativeStart.main(Native Method)
V/CAM_VideoModule( 5400): Releasing media recorder.
V/CAM_VideoModule( 5400): Empty video file deleted: /storage/sdcard0/DCIM/Camera/VID_20150917_214033.mp4.tmp
D/AudioPolicyManagerBase( 5373): getOutput() device 2, stream 1, samplingRate 0, format 0, channelMask 3, flags 0
D/AudioPolicyManagerBase( 5373): getOutput() returns output 2
D/AudioPolicyManagerBase( 5373): getOutput() device 2, stream 1, samplingRate 0, format 0, channelMask 3, flags 0
D/AudioPolicyManagerBase( 5373): getOutput() returns output 2
D/AudioPolicyManagerBase( 5373): getOutput() device 2, stream 1, samplingRate 48000, format 1, channelMask 3, flags 4
D/AudioPolicyManagerBase( 5373): getOutput() returns output 2
W/AudioTrack( 750): AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate (48000 vs 44100)
D/AudioFlinger( 5373): start(4098), calling pid 750 session 20
D/AudioFlinger( 5373): ? => ACTIVE (4098) on thread 0x4d928
D/AudioPolicyManagerBase( 5373): startOutput() output 2, stream 1, session 20
I/AudioHardwareMSM72XX( 5373): Enabling post proc features with mask 0x0000
D/AudioPolicyManagerBase( 5373): getOutput() device 2, stream 1, samplingRate 0, format 0, channelMask 3, flags 0
D/AudioPolicyManagerBase( 5373): getOutput() returns output 2
D/AudioPolicyManagerBase( 5373): getOutput() device 2, stream 1, samplingRate 0, format 0, channelMask 3, flags 0
D/AudioPolicyManagerBase( 5373): getOutput() returns output 2
D/AudioPolicyManagerBase( 5373): getOutput() device 2, stream 1, samplingRate 48000, format 1, channelMask 3, flags 4
D/AudioPolicyManagerBase( 5373): getOutput() returns output 2
W/AudioTrack( 750): AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate (48000 vs 44100)
D/AudioFlinger( 5373): start(4097), calling pid 750 session 21
D/AudioFlinger( 5373): ? => ACTIVE (4097) on thread 0x41dc8
D/AudioPolicyManagerBase( 5373): startOutput() output 2, stream 1, session 21
V/CAM_VideoModule( 5400): closeCamera
I/CameraClient( 5373): stopPreview: Disable picture related messages
I/QualcommCameraHardware( 5373): deinitPreview E
I/QualcommCameraHardware( 5373): deinitPreview X
D/QualcommCameraHardware( 5373): frame_thread X
V/CAM_VideoModule( 5400): Releasing media recorder.
D/CAM_VideoUI( 5400): surfaceTexture is destroyed
I/ExtendedUtils( 5373): AV Sync late margin : Intended=40ms Using=0ms
D/AwesomePlayer( 5373): Before reset_l
D/ExtendedUtils( 5373): printFileName fd(29) -> /system/app/Camera2.apk
D/ExtendedUtils( 5373): extended extractor not needed, return default
D/OMXCodec( 5373): Successfully allocated OMX node 'OMX.google.vorbis.decoder'
I/AwesomePlayer( 5373): Could not offload audio decode, try pcm offload (16-bit)
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocating 4 buffers of size 8192 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4b388 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4b550 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4b620 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4b6d8 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocating 4 buffers of size 32768 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x45fe0 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x46200 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x46340 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x46468 on output port
D/AudioPlayer( 5373): start of Playback, useOffload 0
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x45fe0 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x46200 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x46340 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x46468 successful
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocating 4 buffers of size 32768 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4b730 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4f690 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4f7d0 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x46178 on output port
V/CAM_PhotoModule( 5400): On resume.
V/CAM_PhotoModule( 5400): Executing onResumeTasks.
D/AudioPlayer( 5373): Pause Playback at 18
D/AudioPlayer( 5373): reset: mPlaying=0 mReachedEOS=1 useOffload=0
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4b6d8 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4b620 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4b550 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4b388 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x46178 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4f7d0 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4f690 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4b730 successful
V/CAM_PhotoModule( 5400): Send tone bar: mSkinToneSeekBar = false
V/CAM_PhotoModule( 5400): Open camera device.
I/ExtendedUtils( 5373): AV Sync late margin : Intended=40ms Using=0ms
D/AwesomePlayer( 5373): Before reset_l
D/ExtendedUtils( 5373): printFileName fd(29) -> /system/app/Camera2.apk
E/SensorHAL( 750): +__poll_activate: handle=1 enabled=1
E/mm-camera( 5373): LENS ROLLOFF not supported on this SENSOR!!!
V/CAM_PhotoModule( 5400): startPreview
E/Util ( 5400): Can't find an appropiate frame rate range!
D/Camera ( 5400): app passed NULL surface
V/CAM_PhotoModule( 5400): old picture_size = 1024 x 768
V/CAM_PhotoModule( 5400): new picture_size = 1600 x 1200
V/CAM_PhotoModule( 5400): Picture Size changed. Restart Preview
V/CAM_PhotoModule( 5400): Preview size is 320x240
V/CAM_PhotoModule( 5400): Color effect value =none
V/CAM_PhotoModule( 5400): Saturation value =5
V/CAM_PhotoModule( 5400): Contrast value =5
V/CAM_PhotoModule( 5400): Sharpness value =0
V/CAM_PhotoModule( 5400): Face Recognition value = off
V/CAM_PhotoModule( 5400): AE Bracketing value =Off
V/CAM_PhotoModule( 5400): autoExposure value =frame-average
V/CAM_PhotoModule( 5400): antiBanding value =auto
D/Util ( 5400): Parameters: [antibanding-values=off,50hz,60hz,auto, antibanding=auto, auto-exposure-values=frame-average,center-weighted,spot-metering, auto-exposure=frame-average, camera-mode=0, contrast-def=2, contrast-max=4, contrast=2, effect-values=none,mono,negative,sepia, effect=none, exposure-compensation-step=1, exposure-compensation=0, flash-mode-values=off,auto,on,torch, flash-mode=auto, focus-mode-values=, focus-mode=auto, gps-timestamp=1442518782, hdr-need-1x=false, horizontal-view-angle=51.2, iso-values=auto,ISO100,ISO200,ISO400, iso=auto, jpeg-quality=85, jpeg-thumbnail-height=384, jpeg-thumbnail-quality=90, jpeg-thumbnail-width=512, lensshade-values=enable,disable, lensshade=enable, luma-adaptation=3, max-contrast=4, max-exposure-compensation=4, max-saturation=4, max-sharpness=4, max-zoom=39, metering=frame-average, min-exposure-compensation=-2, picture-format-values=jpeg,raw, picture-format=jpeg, picture-size-values=1600x1200,1280x768,1280x720,1024x768,800x480,640x480,352x288,320x240,176x144, picture-size=1600x1200, preferred-preview-size-for-video=480x320, preview-format-values=yuv420sp, preview-format=yuv420sp, preview-fps-range-values=(10,25), preview-frame-rate-values=10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, preview-frame-rate=15, preview-size-values=800x480,768x432,640x480,576x432,480x320,384x288,352x288,320x240,240x160,176x144, preview-size=320x240, recording-hint=false, rotation=90, saturation-def=2, saturation-max=4, saturation=2, sharpness-def=2, sharpness-max=4, sharpness=0, vertical-view-angle=39.4, video-frame-format=yuv420sp, video-size-values=640x480,576x432,480x320,384x288,352x288,320x240,240x160,176x144, video-size=480x320, whitebalance-values=auto,daylight,cloudy-daylight,fluorescent,incandescent, whitebalance=auto, zoom-ratios=100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300, zoom-supported=true, zoom=0, zsl=off]
E/mm-camera( 5373): LENS ROLLOFF not supported on this SENSOR!!!
D/ExtendedUtils( 5373): extended extractor not needed, return default
V/CAM_UI ( 5400): SurfaceTexture ready.
V/CAM_PhotoModule( 5400): onPreviewUIReady
D/OMXCodec( 5373): Successfully allocated OMX node 'OMX.google.vorbis.decoder'
I/AwesomePlayer( 5373): Could not offload audio decode, try pcm offload (16-bit)
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocating 4 buffers of size 8192 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4c930 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4cce0 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4cdb0 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4ce68 on input port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocating 4 buffers of size 32768 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x44e50 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x45070 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x451b0 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x452d8 on output port
D/AudioPlayer( 5373): start of Playback, useOffload 0
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x44e50 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x45070 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x451b0 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x452d8 successful
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocating 4 buffers of size 32768 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x4cec0 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x50c08 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x514b8 on output port
I/OMXCodec( 5373): [OMX.google.vorbis.decoder] allocated buffer 0x50800 on output port
D/QualcommCameraHardware( 5373): mBufferSize=115200, mAlignedBufferSize=118784
D/QualcommCameraHardware( 5373): num_buffers = 4
V/CAM_PhotoModule( 5400): set tone bar: mSceneMode = auto
V/CAM_PhotoModule( 5400): Skin tone bar: Not supported
V/CAM_PhotoModule( 5400): Skin tone bar: disable
D/QualcommCameraHardware( 5373): frame_thread E
D/CAM_PhotoModule( 5400): addIdleHandler in first time initialization
D/AudioPlayer( 5373): Pause Playback at 18
D/AudioPlayer( 5373): reset: mPlaying=0 mReachedEOS=1 useOffload=0
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4ce68 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4cdb0 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4cce0 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4c930 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x50800 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x514b8 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x50c08 successful
I/OMXNodeInstance( 5373): OMX_FreeBuffer for buffer header 0x4cec0 successful
V/CAM_PhotoModule( 5400): onCameraOpened
D/QualcommCameraHardware( 5373): ctrlCmd.value = 60
D/QualcommCameraHardware( 5373): Maximum zoom value is 39
E/CAM_PhotoModule( 5400): Width = 320Height = 240

I'm sorry for the bad news. Good night.

( Edit: )

There are several things that wake you from sleep - an idea how to possibly fix this issue for example.

What would happen if I (rather naively) replaced the library with the one that came with the Final ROM?

- still camera: works

- panorama: bottom third gets redrawn every second with "bad" content

- video: still doesn't work, logcat (just covering the "record button press") follows:

V/CAM_VideoModule( 1611): startVideoRecording
D/CameraStorage( 1611): External storage state=mounted
V/CAM_VideoModule( 1611): initializeRecorder
W/StagefrightRecorder( 395): Max file duration is not positive: 0 us. Disabling duration limit.
W/StagefrightRecorder( 395): Target duration (0 us) too short to be respected
V/CAM_VideoModule( 1611): New video filename: /storage/sdcard0/DCIM/Camera/VID_20150918_093231.mp4.tmp
E/QualcommCameraHardware( 395): native_set_parm: error (Success): fd 27, type 12, length 4, status 0
E/mm-camera( 395): LENS ROLLOFF not supported on this SENSOR!!!
E/QualcommCameraHardware( 395): native_set_parm: error (Success): fd 27, type 37, length 1, status 0
E/QualcommCameraHardware( 395): native_set_parm: error (Success): fd 27, type 11, length 4, status 0
E/CameraSource( 395): Failed to set video frame size to 320x240. The actual video size is 480x320
E/MediaRecorder( 1611): start failed: -19
E/CAM_VideoModule( 1611): Could not start media recorder.
E/CAM_VideoModule( 1611): java.lang.RuntimeException: start failed.
E/CAM_VideoModule( 1611):	at android.media.MediaRecorder.start(Native Method)
E/CAM_VideoModule( 1611):	at com.android.camera.VideoModule.startVideoRecording(VideoModule.java:1656)
E/CAM_VideoModule( 1611):	at com.android.camera.VideoModule.onShutterButtonClick(VideoModule.java:730)
E/CAM_VideoModule( 1611):	at com.android.camera.ShutterButton.performClick(ShutterButton.java:142)
E/CAM_VideoModule( 1611):	at android.view.View$PerformClick.run(View.java:18446)
E/CAM_VideoModule( 1611):	at android.os.Handler.handleCallback(Handler.java:733)
E/CAM_VideoModule( 1611):	at android.os.Handler.dispatchMessage(Handler.java:95)
E/CAM_VideoModule( 1611):	at android.os.Looper.loop(Looper.java:136)
E/CAM_VideoModule( 1611):	at android.app.ActivityThread.main(ActivityThread.java:5179)
E/CAM_VideoModule( 1611):	at java.lang.reflect.Method.invokeNative(Native Method)
E/CAM_VideoModule( 1611):	at java.lang.reflect.Method.invoke(Method.java:515)
E/CAM_VideoModule( 1611):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
E/CAM_VideoModule( 1611):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
E/CAM_VideoModule( 1611):	at dalvik.system.NativeStart.main(Native Method)
V/CAM_VideoModule( 1611): Releasing media recorder.
V/CAM_VideoModule( 1611): Empty video file deleted: /storage/sdcard0/DCIM/Camera/VID_20150918_093231.mp4.tmp

The culprit to me seems to be outside of the library... [MENTION=5051035]Mm7[/MENTION], do you agree (or need more input)?

( Edit 2: )

Oh shut, I went back to Final only to find that video recording wouldn't work either. So I never really tested this, or it stopped working between some of the RCs and the Final. My brain is failing me, with many other but similar things to be kept in sync. Unfortunately I only kept RC14, so I cannot really find out what might have happened and when. (I kept most of the release notes, if that helps?)

I presume we should leave this as is. Logcat:

E/CameraSource( 126): Failed to set video frame size to 320x240. The actual video size is 480x320
E/MediaRecorder( 1941): start failed: -19
E/CAM_VideoModule( 1941): Could not start media recorder.
E/CAM_VideoModule( 1941): java.lang.RuntimeException: start failed.
E/CAM_VideoModule( 1941):	at android.media.MediaRecorder.start(Native Method)
E/CAM_VideoModule( 1941):	at com.android.camera.VideoModule.startVideoRecording(VideoModule.java:1656)
E/CAM_VideoModule( 1941):	at com.android.camera.VideoModule.onShutterButtonClick(VideoModule.java:730)
E/CAM_VideoModule( 1941):	at com.android.camera.ShutterButton.performClick(ShutterButton.java:142)
E/CAM_VideoModule( 1941):	at android.view.View$PerformClick.run(View.java:18446)
E/CAM_VideoModule( 1941):	at android.os.Handler.handleCallback(Handler.java:733)
E/CAM_VideoModule( 1941):	at android.os.Handler.dispatchMessage(Handler.java:95)
E/CAM_VideoModule( 1941):	at android.os.Looper.loop(Looper.java:136)
E/CAM_VideoModule( 1941):	at android.app.ActivityThread.main(ActivityThread.java:5179)
E/CAM_VideoModule( 1941):	at java.lang.reflect.Method.invokeNative(Native Method)
E/CAM_VideoModule( 1941):	at java.lang.reflect.Method.invoke(Method.java:515)
E/CAM_VideoModule( 1941):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
E/CAM_VideoModule( 1941):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
E/CAM_VideoModule( 1941):	at dalvik.system.NativeStart.main(Native Method)
V/CAM_VideoModule( 1941): Releasing media recorder.
V/CAM_VideoModule( 1941): Empty video file deleted: /storage/sdcard0/DCIM/Camera/VID_20150918_113314.mp4.tmp

Checking the build.prop:

ro.build.user=AndroidMeda

Who's that [MENTION=3329743]androidmeda[/MENTION], btw?