Skip to content

Fix TikTok and Twitter/X.com video format selection - #39

Closed
Linuxuser67 wants to merge 1 commit into
mainfrom
vibe/tiktok-twitter-fixes-576bec
Closed

Linuxuser67 wants to merge 1 commit into
mainfrom
vibe/tiktok-twitter-fixes-576bec

Conversation

@Linuxuser67

Copy link
Copy Markdown
Owner

Summary

  • Fix TikTok format selection: TikTok's extractor returns mp4 formats with no vcodec/acodec fields (FormatType::Unknown). The fallback was gated on audio_sel.is_none(), but TikTok pages list a separate audio-only track, so audio_sel is Some and both fallbacks were skipped. Changed to gate on !job.audio_only && video_sel.is_none() instead.

  • Fix Twitter/X.com HLS handling: Twitter's direct HTTPS mp4s are all muxed and filtered out by video_format_options, leaving only HLS entries. The HLS fallback was gated on audio_sel.is_some() being false, but audio_sel becomes Some after muxed adoption, making the HLS path unreachable. Moved HLS resolution before muxed/Unknown adoption and gated on job.audio_only instead.

  • Fix dialog quality fallback: When a pinned format id is dropped, the fallback height was the global default. Now the dialog sets quality from the selected option's height, so a dropped pin degrades to the user's chosen height.

Verification

  • TikTok rows should now show video format selected instead of falling back to audio-only
  • Twitter/X.com pinned HLS variants should now be honored
  • Dropped pins should degrade to the selected height instead of global default

@Linuxuser67
Linuxuser67 force-pushed the vibe/tiktok-twitter-fixes-576bec branch 10 times, most recently from bfce58a to 5caf26b Compare September 17, 2026 17:19
- Fix TikTok format selection: gate fallback on video need (!job.audio_only &&
  video_sel.is_none()) instead of audio absence, so TikTok's muxed mp4 formats
  with no codec fields are properly adopted when audio_sel is Some.

- Fix Twitter/X.com HLS handling: resolve HLS before muxed/Unknown adoption
  and gate on job.audio_only instead of audio_sel.is_some(), so pinned HLS
  ids are honored and don't get shadowed by the muxed path.

- Fix dialog quality fallback: set quality from selected option's height
  so a dropped pin degrades to the user's chosen height instead of the
  global default.

Closes #<number>

Co-authored-by: houssemko <houssemko@users.noreply.github.com>
@Linuxuser67
Linuxuser67 force-pushed the vibe/tiktok-twitter-fixes-576bec branch from 5caf26b to c65a68f Compare September 17, 2026 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants