vdr 1.3.18 ist raus

  • VDR developer version 1.3.18 is now available at

    ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.18.tar.bz2

    *** NOTE THAT THE WARNINGS REGARDING THE USE OF VPS CONTROLLED
    *** TIMERS FROM PREVIOUS RELEASE NOTES STILL APPLY!

    The main focus of this release is on audio track handling and support
    for playing Dolby Digital over the full featured DVB cards' SPDIF output.
    In live mode this already works for all PIDs. For recordings and in
    Transfer Mode it is still limited to the first two audio PIDs and only
    one Dolby PID. This will be changed in one of the next versions.
    The newly implemented track mechanism will also be used for displaying
    subtitles soon, but this release doesn't handle subtitles, yet. There is
    also no automatic handling of multi channel audio ("Zweikanalton") with
    respect to the "preferred audio languages" yet.

    The changes since version 1.3.17:

    - Removed an unused variable from cTimer::GetWDayFromMDay() (thanks to Wayne Keer
    for reporting this one).
    - Some more changes to the 'childTid' handling in cThread (based on suggestions by
    Stefan Huelswitt).
    - Fixed the spelling of 'canceling' (thanks to Wayne Keer for reporting this one).
    - Re-introduced a sleep to cDvbPlayer::Action() to avoid high CPU load in still
    picture mode (thanks to Reinhard Nissl for reporting this one).
    - Fixed a possible race condition in generating the DVB device names (thanks to
    Rainer Zocholl for reporting this one).
    - Changed the way PES packets are played to allow replay of AC3 sound over the
    full featured DVB cards (partially based on a patch from Werner Fink).
    + The new function cDevice::PlayPes() is now called with the complete PES data
    stream and calls PlayVideo() and PlayAudio() as necessary.
    + cDevice::PlayVideo() is now only called with actual video PES packets.
    + cDevice::PlayAudio() is now called with the actual audio PES packets, which
    can be either "normal" audio or AC3 data. You need at least firmware version
    0x261d to replay AC3 sound over a full featured DVB card. This function now
    has an 'int' return value.
    + PlayAudio() of derived cDevice classes shall no longer call the base class
    function. It shall just play the given data as audio.
    + cPlayer::PlayVideo() and cPlayer::PlayAudio() are now obsolete and have been
    replaced with cPlayer::PlayPes().
    + All StripAudioPackets() functions are now obsolete. The functionality has been
    moved into cDevice::PlayPes(), where only the video and audio packets that are
    actually required will be processed.
    + All audio track handling is now done by cDevice; cTransfer and cDvbPlayer no
    longer care about audio tracks. cPlayer, however, still has the virtual hooks
    for audio track handling in order to allow plugins to implement players that
    have their own idea about this.
    + cChannel::[AD]pid[12]() have been replaced with cChannel::[AD]pid(int i) to
    allow access to all available PIDs.
    - Escaped the '-' and 'ö' characters in the man pages (thanks to Darren Salt for
    pointing this out).
    - Completed the Italian OSD texts (thanks to Sean Carlos).
    - Fixed setting 'synced' in cRemux when recording radio channels (thanks to
    Laurence Abbott).
    - Removed the LOCK_THREAD from the LIRC thread (thanks to Ludwig Nussel).
    - Fixed genfontfile.c (sometimes the character width was wrong, and the codes were
    shifted one too far to the left).
    - Fixed the character width and shifted the codes one to the right in all font
    files.
    - Renamed font???.c to font???-iso8859-1.c for symmetry.
    - Switched the character set to iso8859-15 for English, German and Finnish (thanks
    to Andreas Brugger for reporting the missing Euro sign in iso8859-1).
    - Added 'channels.conf.terr' entries for Lübeck (thanks to Stefan Hußfeldt).
    - Fixed a race condition in starting a thread (thanks to Reinhard Nissl for
    reporting this one).
    - Replaced non-threadsafe library functions with their threadsafe versions (thanks
    to Rainer Zocholl for pointing this out).
    - Other non-threadsafe functions have been replaced by threadsafe classes that hide
    the actual buffering. In particular these are:
    readdir() -> cReadDir
    readline() -> cReadLine
    - Several formerly non-threadsafe functions now have a return type of cString:
    cChannel::ToText()
    tChannelID::ToString()
    cEvent::GetDateString()
    cEvent::GetTimeString()
    cEvent::GetEndTimeString()
    cEvent::GetVpsString()
    cMark::ToText()
    cTimer::ToText()
    cSource::ToString()
    cTimer::PrintDay()
    cTimer::PrintFirstDay()
    PrefixVideoFileName()
    IndexToHMSF()
    ChannelString()
    strescape()
    AddDirectory()
    itoa()
    WeekDayName()
    DayDateTime()
    When using these functions in a 'const char *' context there is nothing special
    to consider, except that you can no longer have a pointer to the return value,
    as in
    const char *date = DayDateTime();
    Although this will compile without error message, the resulting 'date' will not
    be valid after this line. Use this instead:
    cString date = DayDateTime();
    In a 'const void *' context (as in printf() etc.) the result needs to be
    dereferenced with a '*', as in
    printf("%s", *DayDateTime());
    to make it a 'const char *'.
    - Removed delay_ms(), using cCondWait::SleepMs() instead.
    - Replaced time_ms() with a threadsafe and non-overflowing cTimeMs (thanks to Rainer
    Zocholl for pointing out this problem).
    - Added cDevice::mutexReceiver to avoid a race condition when attaching/detaching
    receivers from different threads.
    - The new remote control button "Audio" can be used to switch between different
    audio tracks. The "Green" button in the "Main" menu has been changed from "Language"
    to "Audio", since it now also controls switching between normal and Dolby Digital
    audio tracks (see MANUAL for details).
    - The description of the audio tracks is now taken from the "component descriptors"
    that are broadcast in the EPG data. However (as no big surprise), not all channels
    actually provide useful data here, so there are now some additional EPG bugfixes,
    which can be activated by setting the "EPG bugfix level" to 3.
    - The format of the 'epg.data' files has been extended by the new tag 'X', which
    contains the stream components of an event (see man vdr(5) for details).
    - The cStatus class now has the new member function SetAudioTrack(), which can be
    used to get notified when the audio track has been switched, and the new member
    function SetAudioChannel() which is called when the audio channel is changed.
    - Skins need to implement the new cSkinDisplayTrack class to display the audio
    track menu.
    - The ST:TNG skin now displays the current audio track description (if any) at the
    botton left side.
    - The new setup option "DVB/Audio languages" can be used to control which audio
    language shall be selected in case a channel broadcasts in different languages
    (see MANUAL for details).
    - The "Left" and "Right" keys in the "Audio" menu can be used to switch between
    the left and right stereo channels in case there are different audio tracks
    in these channels (see MANUAL for details).
    - Fixed a possible race condition in cDevice::Action() (thanks to Mattias Grönlund).
    - Fixed the default quality value when grabbing a JPEG image (thanks to Patrick
    Gleichmann).
    - Fixed deleting a menu item in case the next item is not selectable (thanks to
    Dino Ravnic).
    - Implemented displaying mandatory subtitles in the SPU decoder (thanks to Marco
    Schlüßler).
    - The setup option "Recording/Record Dobly Digital" has been renamed and moved to
    "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and
    whether an available DD audio track will appear in the "Audio" menu.
    - Added support for circular polarization (thanks to Jonan Santiago).
    - Thanks to Werner Fink, Reinhard Nissl, Sascha Volkenandt and Bjørnar Nilsen for
    their support in testing and fine tuning this version.

    The DVB driver I am currently using can be found at

    ftp://ftp.cadsoft.de/vdr/Devel…ux-dvb.2004-12-26.tar.bz2

    which is the CVS 'HEAD' version from 2004-12-26, made available as a complete
    archive for your convenience.

    Of course, you can also use any newer driver version.

    Have fun!

    Klaus

  • Das war der Klaus aber wirklich fleissig. :]

  • Zitat


    Audio ist für mich beim VDR das Zweitwichtigste Thema nach Video ... und erst danach kommt der ganze Rest!


    wie, was jetzt? der VDR kann auch Audio wiedergeben? das war mir bisher noch gar nicht aufgefallen.. hmm gleich mal testen...


    ;)


    VDR1: ECS 945GCD-M, Atom 330, mod. Scenic 300 Geh., 16Gb CF, eHD, Tevii S470, 6.4" VGA TFT
    VDR2: Asus P5GC, C2D E4400 2GHz, mod. Scenic 300 Geh., 16Gb CF, eHD, TS SkyStarHD, PSOne TFT
    VDR3: Asus CUSL2, P3800, 128Mb Ram, TT3600, eHD
    SERVER: Tualatin 1133, 512Mb, 8 x ST 320Gb Gb RAID 5
    SERVER: Intel D945GSEJT, Chenbro ES30068

  • Zitat

    der VDR kann auch Audio wiedergeben? das war mir bisher noch gar nicht aufgefallen..


    Ja ja, aber viel mehr als Wiedergabe war bisher nicht drin...
    Soll sagen: Audio ist leider eher stiefmütterlich behandelt worden!


    Daher freue ich mich besonders das hier auch im Core-VDR Verbesserungen Einzug halten!



    Schöne Grüße
    Micha

  • Für alle die nicht so C++ - lustig sind und trotzdem schonmal den neuen VDR mit Remote Plugin probieren wollen:


    In "Remote.c" (Zeile 87) den Aufruf von time_ms() durch cTimeMs::Now() ersetzen.


    Die saubere Änderung sieht etwas anders aus, aber das wird sicher der (diff-geprüfte) Plugin-Meister erledigen.
    Damit kann man es eben erstmal benutzen.



    Schöne Grüße
    Micha

  • Analogtv kriegt man wieder zum Laufen, wenn man in


    device.c Zeile 1691


    cc = setup(freq, Channel->GetChannelID().ToString(), Channel->Apid2());


    in


    cc = setup(freq, Channel->GetChannelID().ToString(), Channel->Apid(2));


    ändert

  • Hi!


    Hier ein Patch für mein Plugin (osdimage) ... sicherlich nicht das wichtigste, aber egal. :D
    Hoffe es funzt ... kompilieren tut es zumindest.


    Gruß,
    Brougs78

  • Ich habe gleich mal die neue Audio Funktion ausprobiert. Beim Life Ton kann man nun wunderbar die Tonspuren mit Namen auswählen. Leider funktioniert dies bei aufgezeichneten Filmen nur mit Zahlen


    1 = deutsch
    2 = englisch
    33 = Dolby Digital


    Dies ist bei allen Aufzeichnungen so, scheinbar wurde hier die Zuordnung vergessen.

    Gruß
    Frodo

  • Zitat

    Original von Frodo
    Ich habe gleich mal die neue Audio Funktion ausprobiert. Beim Life Ton kann man nun wunderbar die Tonspuren mit Namen auswählen. Leider funktioniert dies bei aufgezeichneten Filmen nur mit Zahlen


    1 = deutsch
    2 = englisch
    33 = Dolby Digital


    Dies ist bei allen Aufzeichnungen so, scheinbar wurde hier die Zuordnung vergessen.


    Kann das VDR-Aufzeichnungsformat überhaupt Audiospurnamen halten?

    This is a .44 Magnum, the most powerful handgun in the world. It can take your head clean off. You've got to ask yourself one question, Do I feel lucky?
    easyvdr 0.9a2 - TT-DVB-S2-6400 - ASUS AT3IONT-I deluxe - Atom 330 - 1,5TB WD EADS - Denon 1910 - Toshiba 42X3030D - Harmony 700

  • Zitat

    Original von Frodo
    Ich habe gleich mal die neue Audio Funktion ausprobiert. Beim Life Ton kann man nun wunderbar die Tonspuren mit Namen auswählen. Leider funktioniert dies bei aufgezeichneten Filmen nur mit Zahlen


    1 = deutsch
    2 = englisch
    33 = Dolby Digital


    Dies ist bei allen Aufzeichnungen so, scheinbar wurde hier die Zuordnung vergessen.


    Aus der Release-Note:


    In live mode this already works for all PIDs. For recordings and in
    Transfer Mode it is still limited to the first two audio PIDs and only
    one Dolby PID. This will be changed in one of the next versions.


    Implizit bedeutet das, daß es bei der Wiedergabe von Aufnahmen noch
    was zu tun gibt, und das betrifft auch die Anzeige der Track-Namen.
    Hätte ich vielleicht explizit erwähnen sollen...


    In jedem Fall wird es konkrete Track-Namen nur für _neue_ Aufnahmen geben,
    da diese Info in 'summary.vdr' gespeichert werden wird.


    Klaus

  • Hi Klaus!


    Danke für den Release.


    Hätte ne Frage: Inwieweit werden denn die Audio-Einstellungen gespeichert. Wenn ich z.B. auf Pro7 schalte und dann DD aktiviere und dann weg- und wieder hinzappe, dann kommt wieder DD. Soweit so gut. Wenn ich allerdings auf einem Kanal auf z.B. den linken Kanal einer Spur gehe, dann scheint die Info auch für die nächsten Kanäle erhalten zu bleiben. Das finde ich nicht so ideal.


    Toll fände ich auch ein Preset, dass man für Live-Wiedergabe und Aufnahmen festlegen könnte, ob man lieber DD oder "normalen Digitalton" hören möchte. Bei meinem Verstäker ist es nämlich so, dass ich (bei einem generllen Preset) im Live-Modus beim Zappen immer das "Klackern" eines Relaise hören würde, das zwischen DD und PCM umschaltet.


    Ansonsten funzt das ganze ja sehr gut und genau so wie ich mir das schon immer gewünscht hätte.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Brougs78
    Hätte ne Frage: Inwieweit werden denn die Audio-Einstellungen gespeichert. Wenn ich z.B. auf Pro7 schalte und dann DD aktiviere und dann weg- und wieder hinzappe, dann kommt wieder DD. Soweit so gut. Wenn ich allerdings auf einem Kanal auf z.B. den linken Kanal einer Spur gehe, dann scheint die Info auch für die nächsten Kanäle erhalten zu bleiben. Das finde ich nicht so ideal.


    Wie bereits in der Release-Note erwähnt ist die Sache mit dem Zweikanalton noch
    nicht ganz ausgegoren. Was mir dazu fehlt ist vor allem ein Kanal, der das öfter mal
    verwendet und auch entsprechende EPG bzw. PID-Sprachinfos mitschickt.
    Welche Kanäle benutzt du denn da so?
    Wahrscheinlich wird es das beste sein, bei jedem Umschalten auf '0' (stereo) zurückzufallen.


    Zitat


    Toll fände ich auch ein Preset, dass man für Live-Wiedergabe und Aufnahmen festlegen könnte, ob man lieber DD oder "normalen Digitalton" hören möchte. Bei meinem Verstäker ist es nämlich so, dass ich (bei einem generllen Preset) im Live-Modus beim Zappen immer das "Klackern" eines Relaise hören würde, das zwischen DD und PCM umschaltet.


    Schalte doch einfach explizit auf einen normalen Audio-Track - ab da bleibt er dann auf
    nicht-Dolby Tracks.


    Zitat


    Ansonsten funzt das ganze ja sehr gut und genau so wie ich mir das schon immer gewünscht hätte.


    Gruß,
    Brougs78


    Na wunderbar!


    Klaus

  • Hi!


    Zitat

    Wie bereits in der Release-Note erwähnt ist die Sache mit dem Zweikanalton noch
    nicht ganz ausgegoren. Was mir dazu fehlt ist vor allem ein Kanal, der das öfter mal
    verwendet und auch entsprechende EPG bzw. PID-Sprachinfos mitschickt.
    Welche Kanäle benutzt du denn da so?
    Wahrscheinlich wird es das beste sein, bei jedem Umschalten auf '0' (stereo) zurückzufallen.


    Kenn leider auch keinen "freien" Kanal, aber einen Reset auf '0' fände ich auf jeden Fall sinnvoll. Ansonsten schaut man nen Film in Mono und ärgert sich danach, dass man die ganzen Stereo-Effekte verpasst hat. ;D


    Zitat

    Schalte doch einfach explizit auf einen normalen Audio-Track - ab da bleibt er dann auf
    nicht-Dolby Tracks.


    Ja ok, das geht natürlich auch.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Was sagen die Experten zum tvonscreen plugin:


    make[1]: Entering directory `/usr/src/vdr-1.3.18/PLUGINS/src/tvonscreen'
    g++ -g -O2 -Wall -Woverloaded-virtual -c -DPLUGIN_NAME_I18N='"tvonscreen"' -D_GNU_SOURCE -I../../../include -I/usr/src/linux/include gfxtools.c
    gfxtools.c: In function `bool DrawXpm(const char *, areaT *, int, int, int = 0, bool = false)':
    gfxtools.c:27: implicit declaration of function `int creadline(...)'
    gfxtools.c:27: assignment to `char *' from `int' lacks a cast
    make[1]: *** [gfxtools.o] Error 1
    make[1]: Leaving directory `/usr/src/vdr-1.3.18/PLUGINS/src/tvonscreen'
    make: *** [plugins] Error 2


    Ist sicher einfach hinzubekommen, wenn man Ahnung von C hat ;). Richtig ist wohl nun cReadLine() ?

  • ...wohl recht viele Plugins durch die zahlreichen Schnittstellenänderungen nicht ohne (aber wohl kleine) Änderungen kompilierbar.



    Edit:
    Sollte es nicht immer zu VDR-[Announce]-Threads n Thread parallel geben, in dem Patches und Probs. mit Plugins diskutiert werden ?!!

  • Danke für den Patch, werds gleich mal testen.


    Kann damit jemand was anfangen?


    make[1]: Entering directory `/usr/src/vdr-1.3.18/PLUGINS/src/burn'
    g++ -g -Wall -Woverloaded-virtual -c -DPLUGIN_NAME_I18N='"burn"' -D_GNU_SOURCE -DDVDDEV='"/dev/dvd"' -DISODIR='"/pub/export/"' -I../../../include -I/usr/src/linux/include -o burn.o burn.c
    In file included from ../../../include/vdr/config.h:19,
    from vdr_compat.h:11,
    from menuburn.h:12,
    from burn.c:11:
    ../../../include/vdr/device.h:59: multiple definition of `enum eTrackType'
    make[1]: *** [burn.o] Error 1

Jetzt mitmachen!

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