Skip to content

[Bug] Pixel 8 AVC1/H264 1080p60 stutter — clean repro + artifacts #23

@Priveetee

Description

@Priveetee

Hello @InfinityLoop1308,

Quick follow-up on the AVC1 stutter topic.
I am opening this here with proper technical artifacts.

Like I said here: TypeType issue #1
I kept digging because I wanted hard data, not only user-visible lag.

Related PipePipe threads:

Upstream reference investigated:

Context

I now have a clean repro on Pixel 8 with AVC1/H264 1080p60: visible stutter/lag while audio stays in sync.

Repro environment

  • Device: Pixel 8 (shiba)
  • OS: GrapheneOS BP4A.260205.001
  • App tested: InfinityLoop1309.NewPipeEnhanced (release)
  • URL: YouTube test video
  • Stream forced manually to AVC1/H264 1080p60
  • Continuous playback: ~5 minutes

Steps to reproduce

  1. Open this video
  2. Force AVC1/H264 1080p60 stream manually
  3. Play continuously for around 5 minutes
  4. Observe visible stutter/lag during playback (audio remains in sync)

Expected

Smooth playback.

Actual

Visible stutter/lag during playback (audio remains in sync).

Log evidence (same 5-minute run)

Repeated signatures:

  • c2.exynos.h264.decoder
  • Ignoring stale input buffer done callback (5 times)
  • BAD_INDEX (5 times)

Representative lines:

04-08 19:07:06.877 I/CCodecConfig(26375): query failed after returning 15 values (BAD_INDEX)
04-08 19:07:07.150 D/CCodecBufferChannel(26375): [c2.exynos.h264.decoder#246] Ignoring stale input buffer done callback: last flush index = 4269, frameIndex = 4269
04-08 19:08:06.933 I/CCodecConfig(26375): query failed after returning 15 values (BAD_INDEX)
04-08 19:08:07.214 D/CCodecBufferChannel(26375): [c2.exynos.h264.decoder#246] Ignoring stale input buffer done callback: last flush index = 7814, frameIndex = 7814

No ANR/fatal crash in this run; this is playback stability degradation.

Control comparison

On the same device, VLC/mpv control runs with H264 content did not reproduce the same visible stutter pattern.

Artifacts

I’m opening this issue first with full repro data and artifacts so we have a solid baseline.
I’ll now investigate a mitigation/fix path and, if results are good, I’ll open a PR with validation details.
If I can’t fully fix it, I’ll still share findings to move this forward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions