[Samsung Galaxy S 5 Unified Development] Boatshow:
Anyone notice weird stuttering during h.264 video playback? Trying to troubleshoot whether:

1. The phone was always this bad and I'm misremembering

2. Updating my apps caused it

3. Issue in LOS 18.1 but not in the 16.x I upgraded from

Edit: I think they're bugs in the apps.

Bromite 90.0.4430.204

-Every video quality on m.youtube.com stutters regardless of resolution chosen (vp9 video, opus codec). The video and the audio lags.

-Known good h.264 file that worked in LOS 16.x stutters in Bromite. In the Gallery app the same file is mostly watchable.

Video: MPEG4 Video (H264) 1210x720 (16:9) 30fps 3797kbps [V: h264 main L4.0, yuv420p, 1210x720, 3797 kb/s]

I accidentally fixed the problem. For Chromium based Android browsers go to chrome://flags and disable "WebRTC Hardware Video Decoding". Restart the browser. If it comes up again just toggle this flag a few times.

You need to go to about://flags and disable "Use AAudio Driver" to reliably fix it.

NewPipe 0.21.2 YouTube streams:

-h.264 is fine up to 720p60 and 1080p30. 1080p60 stutters. I could've sworn that setting used to work.

0.21.3 seems to fix this

JellyFin 2.3.0-beta.1:

-If native "ExoPlayer" is used for playback h.264 1080p streams will drop frames during high motion scenes

-If "web player" is used for playback the same streams do not stutter

Edit: I found a chain of possibly related issues:

https://github.com/TeamNewPipe/NewPipe/issues/6207

https://gitlab.com/LineageOS/issues/android/-/issues/3475

I don't see the NoSupport codec errors. But Mr-Mime is using a OnePlus One which shares the same msm8974 SoC as the S5 and they also have stuttering.

Partial logcat while playing www.youtube.com/watch?v=uzkD5SeuwzM at 1080p60 in NewPipe:

SM-G900T lineage-18.1-20210516-nightly

05-18 19:57:18.528 22106 8879 I CCodecConfig: query failed after returning 12 values (BAD_INDEX)
05-18 19:57:18.529 22106 8879 W Codec2Client: query -- param skipped: index = 1342179345.
05-18 19:57:18.529 22106 8879 W Codec2Client: query -- param skipped: index = 2415921170.
05-18 19:57:18.529 22106 8879 W Codec2Client: query -- param skipped: index = 1610614798.
05-18 19:57:18.568 1708 8881 W SimpleC2Component: unknown frame index: 845
05-18 19:57:18.572 1708 8881 D SimpleC2Component: work form old generation: was 5 now 4
05-18 19:57:18.572 22106 22516 D PipelineWatcher: onInputBufferReleased: frameIndex not found (847); ignored
05-18 19:57:18.573 22106 8880 D CCodecBufferChannel: [c2.android.avc.decoder#425] flushed work; ignored.
05-18 19:57:18.573 22106 8880 D CCodecBufferChannel: [c2.android.avc.decoder#425] Discard frames from previous generation.
05-18 19:57:18.573 22106 8880 D PipelineWatcher: onWorkDone: frameIndex not found (847); ignored
05-18 19:57:18.574 1641 1692 I ThermalEngine: Sensor:tsens_tz_sensor7:62000 mC
05-18 19:57:18.574 1641 1692 I ThermalEngine: Sensor:tsens_tz_sensor6:62000 mC
05-18 19:57:18.674 1641 1692 I ThermalEngine: Sensor:tsens_tz_sensor7:61000 mC
05-18 19:57:18.675 1641 1692 I ThermalEngine: Sensor:tsens_tz_sensor6:64000 mC
05-18 19:57:18.763 22106 8880 D CCodecBuffers: [c2.android.avc.decoder#425:Output[N]] popFromStashAndRegister: output format changed to AMessage(what = 0x00000000) = {
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t android._color-format = 2135033992
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t android._video-scaling = 1
05-18 19:57:18.763 22106 8880 D CCodecBuffers: Rect crop(0, 0, 1919, 1079)
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t color-standard = 1
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t color-range = 2
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t color-transfer = 3
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t height = 1080
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t max-height = 1080
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t max-width = 1920
05-18 19:57:18.763 22106 8880 D CCodecBuffers: string mime = "video/raw"
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t rotation-degrees = 0
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t sar-height = 1
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t sar-width = 1
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t width = 1920
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t android._dataspace = 260
05-18 19:57:18.763 22106 8880 D CCodecBuffers: int32_t color-format = 2130708361
05-18 19:57:18.763 22106 8880 D CCodecBuffers: }