mplayer skaliert das OSD des VDR vertikal

  • Hallo, ich baue gerade ein neues System auf.


    Mplayer funktioniert im VDR problemlos, habe einen kleinen Schönheitfehler.


    Wenn ich ein Video egal welches Format via Mplayer im VDR abspiele, wird das OSD des VDR vertikal gestaucht, um ca. 1/3.


    Ausgabe erfolgt über eine FF KArte.
    Die beiden Scripte mplayer.sh und mplayer.sh.conf habe ich von meinem altem System übernommen.
    Dort war dieser "Fehler" nicht vorhanden.
    Meine mplayer.sh.conf


    mfg.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    Einmal editiert, zuletzt von rudirabbit ()

  • Ich hole den Thread mal wieder hoch:
    Dies steht im Log wenn mplayer startet, bzw wieder beendet wird:

    Code
    Nov  2 07:54:38 linux-2cqx logger: *** DEBUG: Variable CMDLINE has value "/usr/bin/mplayer -vo mpegpes -ao mpegpes  -cache 512 -slave -nolirc -quiet -osdlevel 0 -af volnorm -softvol -softvol-max 400 -volstep 5 -vf scale=352:288,lavc http://xxxxxxxxxxxxxxxx."
    Nov  2 07:54:38 linux-2cqx vdr: [2738] OSD size changed to 720x480 @ 1 
    Nov  2 07:54:42 linux-2cqx vdr: [2780] mplayer: player thread ended (pid=2738) 
    Nov  2 07:54:42 linux-2cqx vdr: [2738] OSD size changed to 720x576 @ 1.06667


    Fragt sich nur Warum ?

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    Einmal editiert, zuletzt von rudirabbit ()

  • Hallo, ich habe noch etwas weiter geforscht warum.


    In der VDR.c wird alle Sekunde die OSDsize upgedatet.


    Code
    static time_t lastOsdSizeUpdate = 0;
              if (Now != lastOsdSizeUpdate)  { // once per second
                 cOsdProvider::UpdateOsdSize();
               lastOsdSizeUpdate = Now;


    Die Funktion steht in der osd.c



    Hier wird von der Funktion

    Code
    cDevice::PrimaryDevice()->GetOsdSize(Width, Height, Aspect);

    in der Variable Height 480 zurückgeliefert wenn der mplayer läuft.


    In der device.c steht dies:

    Code
    void cDevice::GetOsdSize(int &Width, int &Height, double &PixelAspect)
    {
      Width = 720;
       Height = 480;
        PixelAspect = 1.0;


    Seltsam ist warum sich dies nur bemerkbar macht wenn der mplayer läuft.


    Außerdem ist mir der Zweck des OSDsize update alle Sekunde nicht klar.
    Ich habe jetzt in GetOsdSize den Height Wert geändert, jetzt passt es.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    Einmal editiert, zuletzt von rudirabbit ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!