fluxa/data/schemas/com.fluxa.app.data.local.AppDatabase/8.json
KhooLy adf7700f7d Fix mpv/ExoPlayer audio passthrough, channel layout, AO, and DV track selection
mpv:
- Set ao=audiotrack explicitly so the AudioTrack output is guaranteed
  (avoids openSLES which lacks encoded passthrough)
- Add audio-channels=7.1,5.1,stereo so mpv negotiates multichannel
  instead of defaulting to auto-safe stereo downmix
- Build audio-spdif at init time by querying AudioManager output device
  encodings; only advertises AC3/E-AC3/DTS/DTS-HD/TrueHD formats the
  device actually reports

ExoPlayer:
- Guard setVideoEffects(emptyList()) behind a videoEffectsActive flag:
  only call it when IptPqc2ToneMapEffect was actually installed, never
  on a clean path — the empty-list call triggers the GL VideoFrameProcessor
  pipeline in media3 1.10.1 which tone-maps HDR even for an empty effect list
- detectPreferredVideoMimeType now accepts Context and checks display +
  decoder DV capability first; on fully DV-capable devices it returns
  VIDEO_DOLBY_VISION so DV variant tracks are preferred rather than
  deprioritized behind H.265/H.264
2026-07-03 03:51:49 +03:00

156 lines
No EOL
4.8 KiB
JSON

{
"formatVersion": 1,
"database": {
"version": 8,
"identityHash": "15c93c0248dd5a768eaf5168e80a22d7",
"entities": [
{
"tableName": "watchlist",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `profileId` TEXT NOT NULL, `name` TEXT NOT NULL, `type` TEXT NOT NULL, `poster` TEXT, `background` TEXT, `logo` TEXT, `description` TEXT, `rating` TEXT, `releaseInfo` TEXT, `addedAt` INTEGER NOT NULL, `isLiked` INTEGER, `timeOffset` INTEGER, `duration` INTEGER, `lastVideoId` TEXT, `lastStreamIndex` INTEGER, `lastEpisodeName` TEXT, `lastAudioTrackId` TEXT, `lastSubtitleTrackId` TEXT, `lastStreamUrl` TEXT, `lastStreamTitle` TEXT, `lastAudioLanguage` TEXT, `lastSubtitleLanguage` TEXT, `continueWatchingPoster` TEXT, `continueWatchingBackground` TEXT, PRIMARY KEY(`id`, `profileId`))",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "poster",
"columnName": "poster",
"affinity": "TEXT"
},
{
"fieldPath": "background",
"columnName": "background",
"affinity": "TEXT"
},
{
"fieldPath": "logo",
"columnName": "logo",
"affinity": "TEXT"
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT"
},
{
"fieldPath": "rating",
"columnName": "rating",
"affinity": "TEXT"
},
{
"fieldPath": "releaseInfo",
"columnName": "releaseInfo",
"affinity": "TEXT"
},
{
"fieldPath": "addedAt",
"columnName": "addedAt",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "isLiked",
"columnName": "isLiked",
"affinity": "INTEGER"
},
{
"fieldPath": "timeOffset",
"columnName": "timeOffset",
"affinity": "INTEGER"
},
{
"fieldPath": "duration",
"columnName": "duration",
"affinity": "INTEGER"
},
{
"fieldPath": "lastVideoId",
"columnName": "lastVideoId",
"affinity": "TEXT"
},
{
"fieldPath": "lastStreamIndex",
"columnName": "lastStreamIndex",
"affinity": "INTEGER"
},
{
"fieldPath": "lastEpisodeName",
"columnName": "lastEpisodeName",
"affinity": "TEXT"
},
{
"fieldPath": "lastAudioTrackId",
"columnName": "lastAudioTrackId",
"affinity": "TEXT"
},
{
"fieldPath": "lastSubtitleTrackId",
"columnName": "lastSubtitleTrackId",
"affinity": "TEXT"
},
{
"fieldPath": "lastStreamUrl",
"columnName": "lastStreamUrl",
"affinity": "TEXT"
},
{
"fieldPath": "lastStreamTitle",
"columnName": "lastStreamTitle",
"affinity": "TEXT"
},
{
"fieldPath": "lastAudioLanguage",
"columnName": "lastAudioLanguage",
"affinity": "TEXT"
},
{
"fieldPath": "lastSubtitleLanguage",
"columnName": "lastSubtitleLanguage",
"affinity": "TEXT"
},
{
"fieldPath": "continueWatchingPoster",
"columnName": "continueWatchingPoster",
"affinity": "TEXT"
},
{
"fieldPath": "continueWatchingBackground",
"columnName": "continueWatchingBackground",
"affinity": "TEXT"
}
],
"primaryKey": {
"autoGenerate": false,
"columnNames": [
"id",
"profileId"
]
}
}
],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '15c93c0248dd5a768eaf5168e80a22d7')"
]
}
}