Da ich mit der dmTwo gelegentlich nach dem Start aus dem Idle im AIO-Image keinen Ton am TV habe (AC3-Donwmix=off), habe ich nun mal das e2-Log ausgewertet.
(den Ton konnte man dann meist durch einen Senderwechsel bzw. ein-/ausschalten des AC3-Downmix wieder aktivieren)
In den Fällen, wo es nach dem Start aus dem Idle (TV wird über HDMI-CEC mitgestartet) am TV keinen Ton habe, sind solche Einträge "HDMI EXTCON event ..." im Log zu finden:
...
can't set new display mode (port, mode, rate) => None None None
HDMI EXTCON event 'hdmitx_extcon_hdmi' 'HDMI=0'
HDMI EXTCON event 'hdmitx_extcon_audio' 'HDMI=0'
[eAudioManager::PrivateAML::load] got 2 modes
[eAudioManager::PrivateAML::parseAudioMode] PCM : 0
[eAudioManager::PrivateAML::parseSampleRates] got 3 rates for 0 ( 32/44.1/48 kHz)
...
...
[eAudioManager::PrivateAML::load] got 5 modes
[eAudioManager::PrivateAML::parseAudioMode] PCM : 0
[eAudioManager::PrivateAML::parseSampleRates] got 3 rates for 0 ( 32/44.1/48 kHz)
[eAudioManager::PrivateAML::parseAudioMode] AC-3 : 3
[eAudioManager::PrivateAML::parseSampleRates] got 3 rates for 3 ( 32/44.1/48 kHz)
[eAudioManager::PrivateAML::parseAudioMode] DTS : 5
[eAudioManager::PrivateAML::parseSampleRates] got 1 rates for 5 ( 48 kHz)
[eAudioManager::PrivateAML::parseAudioMode] Dobly_Digital+ : 7
[eAudioManager::PrivateAML::parseSampleRates] got 3 rates for 7 ( 32/44.1/48 kHz)
eAudioDecoder: 1: SPDIF Sample Rate 48000(48000), channels 2(2), codec 86019
eAudioDecoder: 2: SPDIF Sample Rate 48000(48000), channels 2(2), codec 86019
eAudioDecoder: SPDIF_PTS 6c02003f, 6144 bytes, 0b 77 eb e6 1c
eAlsaOutput(SPDIF): state transition requested 5, old 0
eAlsaOutput(SPDIF): PLAY_REQ
eAlsaOutput(SPDIF): start with sample_rate 48000, channels 2(2), bits 16 ok
-> setting (aspect, policy, policy2) => auto pillarbox letterbox
HDMI EXTCON event 'hdmitx_extcon_hdmi' 'HDMI=1'
HDMI EXTCON event 'hdmitx_extcon_audio' 'HDMI=1'
...
Display More
In den Fällen, wo der Ton nach dem Einschalten aus dem Idle funktioniert, gibt es keine Logeinträge zu "HDMI EXTCON event ...".
Offensichtlich wird in einigen Fällen während des Starts aus dem Idle erst auf HDMI=0 gewechselt und wenige Sekunden später (hier ca. 4sek) dann auf HDMI=1 gewechselt.
Und wenn das zu lange dauert, dann konnte das Ton-Setting mit der Box wohl nicht ausgehandelt werden.
Ich hab mir jetzt in meinem Plugin "AudioSwitchOnServiceChange" noch ein Event für hdmiChanged integriert, so dass man den Zeitpunkt erfährt, wo es eine HDMI-Änderung gibt und führe dann ein kurzes ein-/ausschalten vom AC3-Downmix aus, so dass der Ton dann direkt verfügbar ist.
Damit ich das richtige hdmiChange-Event erwische (weil da ja immer 2 kommen - 1x HDMI=0 und 1x HDMI=1), frage ich dabei aktuell den videoMode ab, weil auch der erst nach HDMI=1 verfügbar ist.
videoPort ist hier "HDMI" und videoMode ist dann "1080p" (sofern bereits verfügbar, wenn HDMI EXTCON auf HDMI=1 gesetzt ist).
Wenn lt. Log der Wert noch auf HDMI=0 steht, gibt es keinen Wert für den videoMode.
Fragen:
Was bedeutet der Eintrag "HDMI EXTCON event 'hdmitx_extcon_audio' 'HDMI=1'" und insbesondere der Wert bei HDMI=... ?
Ist das die HDMI-Quelle beim TV, die dann der Dreambox mitgeteilt wird ? (wobei die dmTwo beim TV an HDMI3 hängt)
Kann man diesen HDMI-Wert für HDMI EXTCON evtl. im e2/DreamOS abfragen bzw. selbst setzen ?