aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2023-06-30 21:04:38 +0000
committerRene Ladan <rene@FreeBSD.org>2023-06-30 21:04:56 +0000
commit17899659746e8bd507d6ec08461d7ee324b86da8 (patch)
tree1ec367358bffc7372ccdefcd3f18da5d9b5d2c9f
parent139ad9a9e206975e09d9f969fa8e2e462fb24098 (diff)
downloadports-17899659746e8bd507d6ec08461d7ee324b86da8.tar.gz
ports-17899659746e8bd507d6ec08461d7ee324b86da8.zip
cleanup: Remove expired multimedia/vdr ports:
2023-06-30 multimedia/vdr-plugin-osdteletext: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-wirbelscan: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-control: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-markad: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-iptv: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-femon: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-sleeptimer: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-remote: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-infosatepg: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-reelchannelscan: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-extrecmenu: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-vdrmanager: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-vnsiserver: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-xvdr: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugins: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-eepg: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-xineliboutput: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr: Abandoned "work in progress" fork in 2015 2023-06-30 multimedia/vdr-plugin-osdpip: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-epgsearch: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-streamdev: Depends on abandoned fork of VDR 2023-06-30 www/vdr-plugin-live: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-skinenigmang: Depends on abandoned fork of VDR 2023-06-30 multimedia/vdr-plugin-ttxtsubs: Depends on abandoned fork of VDR
-rw-r--r--MOVED24
-rw-r--r--multimedia/Makefile23
-rw-r--r--multimedia/vdr-plugin-control/Makefile45
-rw-r--r--multimedia/vdr-plugin-control/distinfo4
-rw-r--r--multimedia/vdr-plugin-control/files/patch-Makefile23
-rw-r--r--multimedia/vdr-plugin-control/files/patch-StringArray.c14
-rw-r--r--multimedia/vdr-plugin-control/files/patch-control.c10
-rw-r--r--multimedia/vdr-plugin-control/files/patch-stack.c14
-rw-r--r--multimedia/vdr-plugin-control/files/patch-telnet.c14
-rw-r--r--multimedia/vdr-plugin-control/pkg-descr12
-rw-r--r--multimedia/vdr-plugin-control/pkg-plist1
-rw-r--r--multimedia/vdr-plugin-eepg/Makefile42
-rw-r--r--multimedia/vdr-plugin-eepg/distinfo2
-rw-r--r--multimedia/vdr-plugin-eepg/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-eepg/files/patch-eepg.c17
-rw-r--r--multimedia/vdr-plugin-eepg/pkg-descr12
-rw-r--r--multimedia/vdr-plugin-eepg/pkg-plist4
-rw-r--r--multimedia/vdr-plugin-epgsearch/Makefile47
-rw-r--r--multimedia/vdr-plugin-epgsearch/distinfo2
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-Makefile54
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-clang4022
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-isnumber30
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c14
-rw-r--r--multimedia/vdr-plugin-epgsearch/pkg-descr5
-rw-r--r--multimedia/vdr-plugin-epgsearch/pkg-plist27
-rw-r--r--multimedia/vdr-plugin-extrecmenu/Makefile39
-rw-r--r--multimedia/vdr-plugin-extrecmenu/distinfo2
-rw-r--r--multimedia/vdr-plugin-extrecmenu/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c14
-rw-r--r--multimedia/vdr-plugin-extrecmenu/pkg-descr20
-rw-r--r--multimedia/vdr-plugin-extrecmenu/pkg-plist23
-rw-r--r--multimedia/vdr-plugin-femon/Makefile39
-rw-r--r--multimedia/vdr-plugin-femon/distinfo2
-rw-r--r--multimedia/vdr-plugin-femon/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch16
-rw-r--r--multimedia/vdr-plugin-femon/pkg-descr7
-rw-r--r--multimedia/vdr-plugin-femon/pkg-plist12
-rw-r--r--multimedia/vdr-plugin-infosatepg/Makefile40
-rw-r--r--multimedia/vdr-plugin-infosatepg/distinfo2
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp110
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-filter.h13
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-global.cpp40
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-global.h22
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp36
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-process.cpp26
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp50
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-status.cpp21
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-status.h18
-rw-r--r--multimedia/vdr-plugin-infosatepg/pkg-descr3
-rw-r--r--multimedia/vdr-plugin-infosatepg/pkg-plist5
-rw-r--r--multimedia/vdr-plugin-iptv/Makefile64
-rw-r--r--multimedia/vdr-plugin-iptv/distinfo2
-rw-r--r--multimedia/vdr-plugin-iptv/files/channels.conf.iptv17
-rw-r--r--multimedia/vdr-plugin-iptv/files/patch-Makefile28
-rw-r--r--multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv28
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf2
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/pkg-descr18
-rw-r--r--multimedia/vdr-plugin-iptv/pkg-plist32
-rw-r--r--multimedia/vdr-plugin-markad/Makefile59
-rw-r--r--multimedia/vdr-plugin-markad/distinfo2
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-Makefile15
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_Makefile48
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp192
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_decoder.h10
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp138
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-plugin_Makefile22
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp19
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp113
-rw-r--r--multimedia/vdr-plugin-markad/pkg-descr3
-rw-r--r--multimedia/vdr-plugin-markad/pkg-plist13
-rw-r--r--multimedia/vdr-plugin-osdpip/Makefile41
-rw-r--r--multimedia/vdr-plugin-osdpip/distinfo3
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-decoder.c20
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-ffmpeg126
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-ffmpeg352
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-libav940
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-osd.c11
-rw-r--r--multimedia/vdr-plugin-osdpip/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-osdpip/pkg-plist22
-rw-r--r--multimedia/vdr-plugin-osdteletext/Makefile40
-rw-r--r--multimedia/vdr-plugin-osdteletext/distinfo2
-rw-r--r--multimedia/vdr-plugin-osdteletext/files/patch-Makefile11
-rw-r--r--multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt47
-rw-r--r--multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.229
-rw-r--r--multimedia/vdr-plugin-osdteletext/pkg-descr4
-rw-r--r--multimedia/vdr-plugin-osdteletext/pkg-plist13
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/Makefile43
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/distinfo4
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile8
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c66
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h22
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c35
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.1831
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c18
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h11
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c36
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c11
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/pkg-plist80
-rw-r--r--multimedia/vdr-plugin-remote/Makefile39
-rw-r--r--multimedia/vdr-plugin-remote/distinfo2
-rw-r--r--multimedia/vdr-plugin-remote/files/patch-Makefile48
-rw-r--r--multimedia/vdr-plugin-remote/files/patch-uhid1255
-rw-r--r--multimedia/vdr-plugin-remote/pkg-descr62
-rw-r--r--multimedia/vdr-plugin-remote/pkg-plist7
-rw-r--r--multimedia/vdr-plugin-skinenigmang/Makefile49
-rw-r--r--multimedia/vdr-plugin-skinenigmang/distinfo4
-rw-r--r--multimedia/vdr-plugin-skinenigmang/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.165
-rw-r--r--multimedia/vdr-plugin-skinenigmang/pkg-descr4
-rw-r--r--multimedia/vdr-plugin-skinenigmang/pkg-plist126
-rw-r--r--multimedia/vdr-plugin-sleeptimer/Makefile38
-rw-r--r--multimedia/vdr-plugin-sleeptimer/distinfo2
-rw-r--r--multimedia/vdr-plugin-sleeptimer/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-sleeptimer/files/patch-i18.c14
-rw-r--r--multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c11
-rw-r--r--multimedia/vdr-plugin-sleeptimer/pkg-descr4
-rw-r--r--multimedia/vdr-plugin-sleeptimer/pkg-plist22
-rw-r--r--multimedia/vdr-plugin-streamdev/Makefile59
-rw-r--r--multimedia/vdr-plugin-streamdev/distinfo2
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-Makefile10
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-client-Makefile14
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-client-setup.c10
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-Makefile14
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c28
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c28
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c13
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-setup.c10
-rw-r--r--multimedia/vdr-plugin-streamdev/pkg-descr18
-rw-r--r--multimedia/vdr-plugin-streamdev/pkg-plist20
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/Makefile38
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/distinfo2
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c23
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.2925
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/pkg-plist11
-rw-r--r--multimedia/vdr-plugin-vdrmanager/Makefile40
-rw-r--r--multimedia/vdr-plugin-vdrmanager/distinfo2
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp12
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp17
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-sock.h12
-rw-r--r--multimedia/vdr-plugin-vdrmanager/pkg-descr2
-rw-r--r--multimedia/vdr-plugin-vdrmanager/pkg-plist2
-rw-r--r--multimedia/vdr-plugin-vnsiserver/Makefile50
-rw-r--r--multimedia/vdr-plugin-vnsiserver/distinfo2
-rw-r--r--multimedia/vdr-plugin-vnsiserver/files/patch-Makefile33
-rw-r--r--multimedia/vdr-plugin-vnsiserver/pkg-descr4
-rw-r--r--multimedia/vdr-plugin-vnsiserver/pkg-plist4
-rw-r--r--multimedia/vdr-plugin-wirbelscan/Makefile41
-rw-r--r--multimedia/vdr-plugin-wirbelscan/distinfo2
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb51
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c11
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/types.sed5
-rw-r--r--multimedia/vdr-plugin-wirbelscan/pkg-descr4
-rw-r--r--multimedia/vdr-plugin-wirbelscan/pkg-plist22
-rw-r--r--multimedia/vdr-plugin-xineliboutput/Makefile73
-rw-r--r--multimedia/vdr-plugin-xineliboutput/distinfo3
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/keymap1203
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-Makefile83
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-c++11163
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-clang43
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-config.c14
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-configure93
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-osd.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c64
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h13
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c108
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c283
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/pkg-descr15
-rw-r--r--multimedia/vdr-plugin-xineliboutput/pkg-plist19
-rw-r--r--multimedia/vdr-plugin-xvdr/Makefile42
-rw-r--r--multimedia/vdr-plugin-xvdr/distinfo2
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e75
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-rofafor84
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c15
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c13
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h12
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c16
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c15
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c24
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c21
-rw-r--r--multimedia/vdr-plugin-xvdr/pkg-descr3
-rw-r--r--multimedia/vdr-plugin-xvdr/pkg-plist2
-rw-r--r--multimedia/vdr-plugins/Makefile67
-rw-r--r--multimedia/vdr-plugins/pkg-descr18
-rw-r--r--multimedia/vdr/Makefile116
-rw-r--r--multimedia/vdr/Makefile.plugins58
-rw-r--r--multimedia/vdr/distinfo2
-rw-r--r--multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c19
-rw-r--r--multimedia/vdr/files/patch-abs-types.diff27
-rw-r--r--multimedia/vdr/files/patch-c++1174
-rw-r--r--multimedia/vdr/files/patch-clang4011
-rw-r--r--multimedia/vdr/files/patch-device.c11
-rw-r--r--multimedia/vdr/files/patch-device.h20
-rw-r--r--multimedia/vdr/files/patch-dvbdevice.c55
-rw-r--r--multimedia/vdr/files/patch-dvbdevice.h11
-rw-r--r--multimedia/vdr/files/patch-libsi_util.c11
-rw-r--r--multimedia/vdr/files/patch-menu.c11
-rw-r--r--multimedia/vdr/files/patch-menuitems.c10
-rw-r--r--multimedia/vdr/files/patch-plugin.c19
-rw-r--r--multimedia/vdr/files/patch-receiver.c15
-rw-r--r--multimedia/vdr/files/patch-tools.c38
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates10
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD1222
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff13
-rw-r--r--multimedia/vdr/files/patch-vdr.111
-rw-r--r--multimedia/vdr/files/patch-z-Makefile45
-rw-r--r--multimedia/vdr/files/patch-z-cutter.c61
-rw-r--r--multimedia/vdr/files/patch-z-dvbdevice.c14
-rw-r--r--multimedia/vdr/files/patch-z-libsi-si.c42
-rw-r--r--multimedia/vdr/files/remote.conf116
-rw-r--r--multimedia/vdr/files/stb0899-signalstrength.patch28
-rw-r--r--multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch11
-rw-r--r--multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff10
-rw-r--r--multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1959
-rw-r--r--multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-256
-rw-r--r--multimedia/vdr/files/vdr-waitdvb.in37
-rw-r--r--multimedia/vdr/files/vdr.in44
-rw-r--r--multimedia/vdr/pkg-descr15
-rw-r--r--multimedia/vdr/pkg-plist152
-rw-r--r--www/Makefile1
-rw-r--r--www/vdr-plugin-live/Makefile54
-rw-r--r--www/vdr-plugin-live/distinfo2
-rw-r--r--www/vdr-plugin-live/files/extra-patch-libcxx60
-rw-r--r--www/vdr-plugin-live/files/gen_version_suffix.h7
-rw-r--r--www/vdr-plugin-live/files/patch-042724e30d5690ab67a6c04aea48a16b9a3b085b292
-rw-r--r--www/vdr-plugin-live/files/patch-1a1f2e0754b02c5597debbe82f27b759f23cd6fe66
-rw-r--r--www/vdr-plugin-live/files/patch-69f84f95fa875c6f562294b1a6a1ea6f584d3f6c27
-rw-r--r--www/vdr-plugin-live/files/patch-Makefile38
-rw-r--r--www/vdr-plugin-live/files/patch-libcxx259
-rw-r--r--www/vdr-plugin-live/files/patch-live.cpp23
-rw-r--r--www/vdr-plugin-live/files/patch-pages-multischedule.ecpp11
-rw-r--r--www/vdr-plugin-live/files/patch-tools.cpp12
-rw-r--r--www/vdr-plugin-live/pkg-descr9
-rw-r--r--www/vdr-plugin-live/pkg-plist198
263 files changed, 24 insertions, 11227 deletions
diff --git a/MOVED b/MOVED
index d2d5b584b5b6..a81d7bc16850 100644
--- a/MOVED
+++ b/MOVED
@@ -7710,3 +7710,27 @@ net-im/purple-hangouts||2023-06-30|Has expired: Google Hangouts discontinued 202
dns/ares||2023-06-30|Has expired: Deprecated upstream as of March 12, 2023
security/rubygem-omniauth-cas3||2023-06-30|Has expired: Deprecated by upstream. The repository has been archived by the owner on Aug 23, 2022
graphics/ikona||2023-06-30|Has expired: abandoned upstream, broken
+multimedia/vdr-plugin-osdteletext||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-wirbelscan||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-control||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-markad||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-iptv||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-femon||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-sleeptimer||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-remote||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-infosatepg||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-reelchannelscan||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-extrecmenu||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-vdrmanager||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-vnsiserver||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-xvdr||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugins||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-eepg||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-xineliboutput||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr||2023-06-30|Has expired: Abandoned "work in progress" fork in 2015
+multimedia/vdr-plugin-osdpip||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-epgsearch||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-streamdev||2023-06-30|Has expired: Depends on abandoned fork of VDR
+www/vdr-plugin-live||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-skinenigmang||2023-06-30|Has expired: Depends on abandoned fork of VDR
+multimedia/vdr-plugin-ttxtsubs||2023-06-30|Has expired: Depends on abandoned fork of VDR
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 3fba90273e66..d301e6a46b6a 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -386,29 +386,6 @@
SUBDIR += vcdgear
SUBDIR += vcdimager
SUBDIR += vdpauinfo
- SUBDIR += vdr
- SUBDIR += vdr-plugin-control
- SUBDIR += vdr-plugin-eepg
- SUBDIR += vdr-plugin-epgsearch
- SUBDIR += vdr-plugin-extrecmenu
- SUBDIR += vdr-plugin-femon
- SUBDIR += vdr-plugin-infosatepg
- SUBDIR += vdr-plugin-iptv
- SUBDIR += vdr-plugin-markad
- SUBDIR += vdr-plugin-osdpip
- SUBDIR += vdr-plugin-osdteletext
- SUBDIR += vdr-plugin-reelchannelscan
- SUBDIR += vdr-plugin-remote
- SUBDIR += vdr-plugin-skinenigmang
- SUBDIR += vdr-plugin-sleeptimer
- SUBDIR += vdr-plugin-streamdev
- SUBDIR += vdr-plugin-ttxtsubs
- SUBDIR += vdr-plugin-vdrmanager
- SUBDIR += vdr-plugin-vnsiserver
- SUBDIR += vdr-plugin-wirbelscan
- SUBDIR += vdr-plugin-xineliboutput
- SUBDIR += vdr-plugin-xvdr
- SUBDIR += vdr-plugins
SUBDIR += vid.stab
SUBDIR += video-trimmer
SUBDIR += vlc
diff --git a/multimedia/vdr-plugin-control/Makefile b/multimedia/vdr-plugin-control/Makefile
deleted file mode 100644
index 2a02a3b2676c..000000000000
--- a/multimedia/vdr-plugin-control/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-PORTNAME= vdr-plugin-control
-PORTVERSION= 0.0.2a45
-PORTREVISION= 16
-CATEGORIES= multimedia
-MASTER_SITES= http://ricomp.de/vdr/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION:S/a45/a/}${DISTVERSIONSUFFIX}
-
-PATCH_SITES= http://ppa.launchpad.net/the-vdr-team/unstable-plugins/ubuntu/pool/main/v/vdr-plugin-control/ \
- LOCAL/nox
-PATCHFILES= ${PORTNAME}_${PORTVERSION:S/a45/a-45/}yavdr1.diff.gz
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - telnet control plugin
-WWW= http://ricomp.de/vdr/down_en.html
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION:S/a45/a/}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${RM} ${WRKSRC}/vdr-plugin-${PLUGIN}-${DISTVERSION:S/a45/a/}/debian/patches/90*
- @for i in ${WRKSRC}/vdr-plugin-${PLUGIN}-${DISTVERSION:S/a45/a/}/debian/patches/*.dpatch; do \
- ${PATCH} -d ${WRKSRC} `${SED} -n '/^#PATCHOPTIONS:/{s///;p;q;}' $$i` --forward --quiet <$$i ;\
- done
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-control/distinfo b/multimedia/vdr-plugin-control/distinfo
deleted file mode 100644
index 695a7e9a2675..000000000000
--- a/multimedia/vdr-plugin-control/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (vdr/vdr-control-0.0.2a.tgz) = e32012511cac2f333a59d4da250ca63d222abe574f99eb55c567d9752ef0d565
-SIZE (vdr/vdr-control-0.0.2a.tgz) = 27441
-SHA256 (vdr/vdr-plugin-control_0.0.2a-45yavdr1.diff.gz) = 806c6b29b43988c9fd3b0421e5a3af03517a5088a6a0b2ed622fdf7afa15c7fa
-SIZE (vdr/vdr-plugin-control_0.0.2a-45yavdr1.diff.gz) = 5129
diff --git a/multimedia/vdr-plugin-control/files/patch-Makefile b/multimedia/vdr-plugin-control/files/patch-Makefile
deleted file mode 100644
index e3d3022bf5a5..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -29,6 +29,8 @@ TMPDIR = /tmp
-
- -include $(VDRDIR)/Make.config
-
-+CXXFLAGS += -Wno-error=overloaded-virtual
-+
- ### The version number of VDR (taken from VDR's "config.h"):
-
- VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-@@ -67,6 +67,11 @@ dist: clean
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
-+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+
- ### Implicit rules:
-
- %.o: %.c
diff --git a/multimedia/vdr-plugin-control/files/patch-StringArray.c b/multimedia/vdr-plugin-control/files/patch-StringArray.c
deleted file mode 100644
index 6fd5d56a1e42..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-StringArray.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/StringArray.c
-+++ b/StringArray.c
-@@ -11,7 +11,11 @@
- #endif // _GNU_SOURCE
-
-
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <string.h>
- #include <stdio.h>
-
diff --git a/multimedia/vdr-plugin-control/files/patch-control.c b/multimedia/vdr-plugin-control/files/patch-control.c
deleted file mode 100644
index 386691c91eb2..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-control.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/control.c
-+++ b/control.c
-@@ -69,6 +69,7 @@ cPluginControl::~cPluginControl()
- // Clean up after yourself!
- delete(_pReceivers);
- delete(_pTerminal);
-+ delete(glCtrlState);
- }
-
-
diff --git a/multimedia/vdr-plugin-control/files/patch-stack.c b/multimedia/vdr-plugin-control/files/patch-stack.c
deleted file mode 100644
index 662e56281747..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-stack.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/stack.c
-+++ b/stack.c
-@@ -12,7 +12,11 @@
-
-
-
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <string.h>
- #include <sys/socket.h>
-
diff --git a/multimedia/vdr-plugin-control/files/patch-telnet.c b/multimedia/vdr-plugin-control/files/patch-telnet.c
deleted file mode 100644
index 388224714293..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-telnet.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/telnet.c
-+++ b/telnet.c
-@@ -12,7 +12,11 @@
-
-
-
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <string.h>
- //#include <sys/socket.h>
-
diff --git a/multimedia/vdr-plugin-control/pkg-descr b/multimedia/vdr-plugin-control/pkg-descr
deleted file mode 100644
index 4a8aa93291dc..000000000000
--- a/multimedia/vdr-plugin-control/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Control-plugin
-
-The 'control' plugin brings the ability to VDR to control
-the whole OSD over a telnet client.
-
-To reach this, 'control' listens on a network socket
-(default is port 2002). If a client wants to connect, VDR
-checks if that client is allowed to connect to VDR (see in
-the documentation of VDR about the svdrphosts.conf file for
-more info). If the connection is etablished, 'control'
-sends the curent OSD state to the client. Also all key
-strokes at the client side are redirected to VDR.
diff --git a/multimedia/vdr-plugin-control/pkg-plist b/multimedia/vdr-plugin-control/pkg-plist
deleted file mode 100644
index 10b75953d983..000000000000
--- a/multimedia/vdr-plugin-control/pkg-plist
+++ /dev/null
@@ -1 +0,0 @@
-lib/vdr/libvdr-control.so.%%APIVERSION%%
diff --git a/multimedia/vdr-plugin-eepg/Makefile b/multimedia/vdr-plugin-eepg/Makefile
deleted file mode 100644
index f1ca05b6d79c..000000000000
--- a/multimedia/vdr-plugin-eepg/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-PORTNAME= vdr-plugin-eepg
-PORTVERSION= 0.0.6p2011071921
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/nox/
-DISTNAME= ${PORTNAME}-${PORTVERSION:C/p.*/pre/}-0-g${GITHASH}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - extended EPG plugin
-WWW= https://projects.vdr-developer.org/projects/plg-eepg
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-GITHASH= e7383ed
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PORTNAME}-${GITHASH}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/eepg.equiv.IT ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/eepg.equiv.IT ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/eepg.equiv.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-eepg/distinfo b/multimedia/vdr-plugin-eepg/distinfo
deleted file mode 100644
index e6a7710063af..000000000000
--- a/multimedia/vdr-plugin-eepg/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-plugin-eepg-0.0.6pre-0-ge7383ed.tar.gz) = 411da7abf4edee3591086d57cfb33c48c3f71396bc823f61e58612b6ee8ccdca
-SIZE (vdr/vdr-plugin-eepg-0.0.6pre-0-ge7383ed.tar.gz) = 81815
diff --git a/multimedia/vdr-plugin-eepg/files/patch-Makefile b/multimedia/vdr-plugin-eepg/files/patch-Makefile
deleted file mode 100644
index 0dc6a27961c8..000000000000
--- a/multimedia/vdr-plugin-eepg/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -130,3 +130,6 @@ dist: clean
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tar.gz core* *~
- # @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-eepg/files/patch-eepg.c b/multimedia/vdr-plugin-eepg/files/patch-eepg.c
deleted file mode 100644
index c28e8181d203..000000000000
--- a/multimedia/vdr-plugin-eepg/files/patch-eepg.c
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/eepg.c
-+++ b/eepg.c
-@@ -427,7 +427,14 @@ static void load_file (int tableid, char
-
- while (fgets (buf, sizeof (buf), fp) != NULL) {
- from = binary = to = NULL;
-+#ifdef __FreeBSD__
-+ from = MALLOC(char, 256);
-+ binary = MALLOC(char, 1024);
-+ to = MALLOC(char, 256);
-+ int elems = sscanf (buf, "%255[^:]:%1023[^:]:%255[^:]:", from, binary, to);
-+#else
- int elems = sscanf (buf, "%a[^:]:%a[^:]:%a[^:]:", &from, &binary, &to);
-+#endif
- if (elems == 3) {
- int bin_len = strlen (binary);
- int from_char = resolve_char (from);
diff --git a/multimedia/vdr-plugin-eepg/pkg-descr b/multimedia/vdr-plugin-eepg/pkg-descr
deleted file mode 100644
index 78cc8e573f8e..000000000000
--- a/multimedia/vdr-plugin-eepg/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-This VDR plugin parses the extended (2 to 10 day) EPG data which is send by
-providers on their portal channels. This EEPG data is transmitted in a
-non-standard format on a non-standard PID.
-
-Currently the following EEPG formats are supported:
-- Mediahighway 1 (CanaalDigitaalNL, CSat, Cyfra+)
-- Mediahighway 2 (Digital+)
-- Sky Italy
-- Sky UK
-- Freesat
-- Premiere
-- NagraGuide (CanaalDigitaalNL, only in test)
diff --git a/multimedia/vdr-plugin-eepg/pkg-plist b/multimedia/vdr-plugin-eepg/pkg-plist
deleted file mode 100644
index 7adc6e6e4c66..000000000000
--- a/multimedia/vdr-plugin-eepg/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-lib/vdr/libvdr-eepg.so.%%APIVERSION%%
-etc/vdr/plugins/eepg/eepg.equiv.IT
-@sample etc/vdr/plugins/eepg/eepg.equiv.sample
-@dir(%%VDR_USER%%,%%VDR_GROUP%%) etc/vdr/plugins/eepg
diff --git a/multimedia/vdr-plugin-epgsearch/Makefile b/multimedia/vdr-plugin-epgsearch/Makefile
deleted file mode 100644
index a9cfa851d8e5..000000000000
--- a/multimedia/vdr-plugin-epgsearch/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-PORTNAME= vdr-plugin-epgsearch
-PORTVERSION= 1.0.1s20120322
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= http://winni.vdr-developer.org/epgsearch/downloads/beta/:beta \
- LOCAL/nox/:snapshot
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - EPG search plugin
-WWW= http://winni.vdr-developer.org/epgsearch/index_eng.html
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-LIB_DEPENDS= libpcre.so:devel/pcre \
- libtre.so:textproc/libtre
-
-USES= pkgconfig tar:bzip2
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/vdr-plugin-${PLUGIN}
-MAKE_ARGS= INCLUDES="-I${LOCALBASE}/include -I${LOCALBASE}/include/vdr -I${WRKSRC}"
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${REINPLACE_CMD} -e 's/^#\(HAVE_PCREPOSIX=\)/\1/;' \
- -e 's/^#\(HAVE_LIBTRE=\)/\1/;' \
- ${WRKSRC}/Makefile
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-epgsearch/distinfo b/multimedia/vdr-plugin-epgsearch/distinfo
deleted file mode 100644
index e6ab78088e1c..000000000000
--- a/multimedia/vdr-plugin-epgsearch/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-plugin-epgsearch-1.0.1s20120322.tar.bz2) = 3aeba4e396fcab71a15cb7a6dbd84f359b7770ef8d15aee05f0fffecb69e276e
-SIZE (vdr/vdr-plugin-epgsearch-1.0.1s20120322.tar.bz2) = 355342
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-Makefile b/multimedia/vdr-plugin-epgsearch/files/patch-Makefile
deleted file mode 100644
index b51a60b220c7..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -235,19 +235,35 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN2).so: $(OBJS2)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS2) $(LIBS2) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN3).so: $(OBJS3)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS3) $(LIBS3) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN4).so: $(OBJS4)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS4) $(LIBS4) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- createcats: createcats.o Makefile
- $(CXX) $(CXXFLAGS) $(LDFLAGS) createcats.o -o $@
-@@ -299,3 +315,15 @@ clean:
- @-rm -f $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4) $(DEPFILE) *.so *.tgz core* createcats createcats.o pod2*.tmp
- @-find . \( -name "*~" -o -name "#*#" \) -print0 | xargs -0r rm -f
- @-rm -rf doc html man
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+ifndef WITHOUT_EPGSEARCHONLY
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN2).so.$(APIVERSION)
-+endif
-+ifndef WITHOUT_CONFLICTCHECKONLY
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN3).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN3).so.$(APIVERSION)
-+endif
-+ifndef WITHOUT_QUICKSEARCH
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN4).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN4).so.$(APIVERSION)
-+endif
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-clang40 b/multimedia/vdr-plugin-epgsearch/files/patch-clang40
deleted file mode 100644
index b9b6ca0ae49a..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-clang40
+++ /dev/null
@@ -1,22 +0,0 @@
---- createcats.c.orig 2012-03-22 18:00:19 UTC
-+++ createcats.c
-@@ -64,7 +64,7 @@ class cReadLine {
-
- char *cReadLine::Read(FILE *f)
- {
-- if (fgets(buffer, sizeof(buffer), f) > 0) {
-+ if (fgets(buffer, sizeof(buffer), f)) {
- int l = strlen(buffer) - 1;
- if (l >= 0 && buffer[l] == '\n')
- buffer[l] = 0;
---- epgsearchext.c.orig 2012-03-22 18:00:19 UTC
-+++ epgsearchext.c
-@@ -1497,7 +1503,7 @@ bool cSearchExts::Load(const char *FileN
- int line = 0;
- char buffer[MAXPARSEBUFFER];
- result = true;
-- while (fgets(buffer, sizeof(buffer), f) > 0) {
-+ while (fgets(buffer, sizeof(buffer), f)) {
- line++;
- char *p = strchr(buffer, '#');
- if (p == buffer) *p = 0;
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-isnumber b/multimedia/vdr-plugin-epgsearch/files/patch-isnumber
deleted file mode 100644
index edc5904c529a..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-isnumber
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/epgsearchext.c
-+++ b/epgsearchext.c
-@@ -39,6 +39,12 @@ The project's page is at http://winni.vd
- #include "blacklist.h"
- #include <math.h>
-
-+#ifdef __FreeBSD__
-+#ifdef isnumber
-+#undef isnumber
-+#endif
-+#endif
-+
- cSearchExts SearchExts;
- cSearchExts SearchTemplates;
-
---- a/epgsearchsvdrp.c
-+++ b/epgsearchsvdrp.c
-@@ -40,6 +40,12 @@ The project's page is at http://winni.vd
- #include "conflictcheck.h"
- #include "menu_main.h"
-
-+#ifdef __FreeBSD__
-+#ifdef isnumber
-+#undef isnumber
-+#endif
-+#endif
-+
- using std::string;
- using std::set;
-
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c b/multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c
deleted file mode 100644
index 3fc2faf758d3..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- menu_searchresults.c.orig
-+++ menu_searchresults.c
-@@ -815,7 +815,11 @@ eOSState cMenuSearchResultsForRecs::Play
- {
- cRecording *recording = GetRecording(ri);
- if (recording) {
-+#if APIVERSNUM < 10728
- cReplayControl::SetRecording(recording->FileName(), recording->Title());
-+#else
-+ cReplayControl::SetRecording(recording->FileName());
-+#endif
- return osReplay;
- }
- }
diff --git a/multimedia/vdr-plugin-epgsearch/pkg-descr b/multimedia/vdr-plugin-epgsearch/pkg-descr
deleted file mode 100644
index 87bc2362d991..000000000000
--- a/multimedia/vdr-plugin-epgsearch/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Epgsearch-plugin
-
-EPG-Search can be used as a replacement for VDR's default schedules menu
-entry. It looks like the standard schedules menu, but adds some
-additional functions.
diff --git a/multimedia/vdr-plugin-epgsearch/pkg-plist b/multimedia/vdr-plugin-epgsearch/pkg-plist
deleted file mode 100644
index dc7073776186..000000000000
--- a/multimedia/vdr-plugin-epgsearch/pkg-plist
+++ /dev/null
@@ -1,27 +0,0 @@
-lib/vdr/libvdr-epgsearch.so.%%APIVERSION%%
-lib/vdr/libvdr-epgsearchonly.so.%%APIVERSION%%
-lib/vdr/libvdr-conflictcheckonly.so.%%APIVERSION%%
-lib/vdr/libvdr-quickepgsearch.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-epgsearch.mo
diff --git a/multimedia/vdr-plugin-extrecmenu/Makefile b/multimedia/vdr-plugin-extrecmenu/Makefile
deleted file mode 100644
index b27ea518d5c0..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-PORTNAME= vdr-plugin-extrecmenu
-PORTVERSION= 1.2.2
-PORTREVISION= 5
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/936/
-DISTNAME= vdr-${PLUGIN}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - extended recordings menu
-WWW= https://projects.vdr-developer.org/projects/plg-extrecmenu
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-extrecmenu/distinfo b/multimedia/vdr-plugin-extrecmenu/distinfo
deleted file mode 100644
index 9a8c91f475e6..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-extrecmenu-1.2.2.tgz) = ac920ee4c43497958ca158d2b81490208cd5caf92545ce809adb8a73f71dfe5e
-SIZE (vdr/vdr-extrecmenu-1.2.2.tgz) = 734012
diff --git a/multimedia/vdr-plugin-extrecmenu/files/patch-Makefile b/multimedia/vdr-plugin-extrecmenu/files/patch-Makefile
deleted file mode 100644
index dd117afa657a..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -108,7 +108,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -120,3 +124,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c b/multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c
deleted file mode 100644
index 61c40d75373b..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/mymenurecordings.c
-+++ b/mymenurecordings.c
-@@ -1031,7 +1031,11 @@ eOSState myMenuRecordings::Play()
- buffer=NULL;
- }
- golastreplayed=true;
-+#if APIVERSNUM < 10728
- myReplayControl::SetRecording(recording->FileName(),recording->Title());
-+#else
-+ myReplayControl::SetRecording(recording->FileName());
-+#endif
- cControl::Shutdown();
- isyslog("[extrecmenu] starting replay of recording");
- cControl::Launch(new myReplayControl());
diff --git a/multimedia/vdr-plugin-extrecmenu/pkg-descr b/multimedia/vdr-plugin-extrecmenu/pkg-descr
deleted file mode 100644
index c476e6ed28c2..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/pkg-descr
+++ /dev/null
@@ -1,20 +0,0 @@
-The EXTended RECordings MENU plugin provides additional functions to VDR's
-recordings menu:
-
-* renaming recordings and directories
-* moving recordings and directories, also between different filesystems
-* adjustable display of recording's length, date and size
-* directories are always shown on top of the list
-* reworked layout using icons for showing the status of list entries
- (directory, new recording, moving recording/directory, cutting recording,
- dvd archiv entry)
-* extended recordings info menu, shows name, path, channel, size, lifetime and
- priority of the recording
-* free disk space is shown for the filesystem of the current directory
-* sorting by name or date, adjustable for each directory; type of sorting will
- be stored
-* ascending/descending sorting
-* extends VDR's '-r'-option commands with 'move' and 'rename'
-* functionality of the DVDArchive-patch (see below)
-* protecting recordings in co-work with the PIN-plugin
-* a cutter queue
diff --git a/multimedia/vdr-plugin-extrecmenu/pkg-plist b/multimedia/vdr-plugin-extrecmenu/pkg-plist
deleted file mode 100644
index c6b9c363b6f5..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/pkg-plist
+++ /dev/null
@@ -1,23 +0,0 @@
-lib/vdr/libvdr-extrecmenu.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-extrecmenu.mo
diff --git a/multimedia/vdr-plugin-femon/Makefile b/multimedia/vdr-plugin-femon/Makefile
deleted file mode 100644
index 79bdac5f5efe..000000000000
--- a/multimedia/vdr-plugin-femon/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-PORTNAME= vdr-plugin-femon
-PORTVERSION= 1.7.17
-PORTREVISION= 5
-CATEGORIES= multimedia
-MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - frontend monitor plugin
-WWW= http://www.saunalahti.fi/~rahrenbe/vdr/femon/
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-femon/distinfo b/multimedia/vdr-plugin-femon/distinfo
deleted file mode 100644
index 45671b26b32a..000000000000
--- a/multimedia/vdr-plugin-femon/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-femon-1.7.17.tgz) = d9d9118d1fd536ec03b09df9c783e0f7c0ebe1979b210aca5bea4930179ff9dc
-SIZE (vdr/vdr-femon-1.7.17.tgz) = 77852
diff --git a/multimedia/vdr-plugin-femon/files/patch-Makefile b/multimedia/vdr-plugin-femon/files/patch-Makefile
deleted file mode 100644
index bccb4ce1170c..000000000000
--- a/multimedia/vdr-plugin-femon/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- femon-1.7.7/Makefile.orig
-+++ femon-1.7.7/Makefile
-@@ -131,3 +134,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch b/multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch
deleted file mode 100644
index ee2f24d244ed..000000000000
--- a/multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ur orig/femon-1.7.7/Makefile femon-1.7.7/Makefile
---- orig/femon-1.7.7/Makefile 2010-03-05 03:20:00.000000000 +0100
-+++ femon-1.7.7/Makefile 2010-03-05 17:55:59.000000000 +0100
-@@ -115,7 +115,11 @@
- ifndef FEMON_DEBUG
- @$(STRIP) $@
- endif
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-Only in femon-1.7.7: Makefile.orig
diff --git a/multimedia/vdr-plugin-femon/pkg-descr b/multimedia/vdr-plugin-femon/pkg-descr
deleted file mode 100644
index d654c4a42648..000000000000
--- a/multimedia/vdr-plugin-femon/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Femon-plugin
-
-DVB Frontend Status Monitor is a VDR plugin that displays some signal
-information parameters of the current tuned channel on OSD. You can zap
-through all your channels and the plugin should be monitoring always the
-right frontend. The transponder and stream information are also available
-in advanced display modes.
diff --git a/multimedia/vdr-plugin-femon/pkg-plist b/multimedia/vdr-plugin-femon/pkg-plist
deleted file mode 100644
index 877b951563ed..000000000000
--- a/multimedia/vdr-plugin-femon/pkg-plist
+++ /dev/null
@@ -1,12 +0,0 @@
-lib/vdr/libvdr-femon.so.%%APIVERSION%%
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/zh_TW/LC_MESSAGES/vdr-femon.mo
diff --git a/multimedia/vdr-plugin-infosatepg/Makefile b/multimedia/vdr-plugin-infosatepg/Makefile
deleted file mode 100644
index 856f3192d901..000000000000
--- a/multimedia/vdr-plugin-infosatepg/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-PORTNAME= vdr-plugin-infosatepg
-PORTVERSION= 0.0.11
-PORTREVISION= 21
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/342/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - infosat EPG plugin
-WWW= https://projects.vdr-developer.org/projects/plg-infosatepg
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}/var/cache/vdr/${PLUGIN}
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-infosatepg/distinfo b/multimedia/vdr-plugin-infosatepg/distinfo
deleted file mode 100644
index b9b123f29030..000000000000
--- a/multimedia/vdr-plugin-infosatepg/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-infosatepg-0.0.11.tgz) = 14495b07f15f928b9ae66d6ec2f6e9639aa0cf86865900b7d6a9e212d7eb80ac
-SIZE (vdr/vdr-infosatepg-0.0.11.tgz) = 35585
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-Makefile b/multimedia/vdr-plugin-infosatepg/files/patch-Makefile
deleted file mode 100644
index 75f98bc8f2c5..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -97,7 +97,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -110,3 +114,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp
deleted file mode 100644
index 262ac078db15..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
---- a/filter.cpp
-+++ b/filter.cpp
-@@ -6,6 +6,9 @@
- * $Id$
- */
-
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
- #include <netinet/if_ether.h>
- #include <unistd.h>
-
-@@ -47,24 +50,32 @@ u_short cFilterInfosatepg::foldsum(u_lon
- return ((u_short) ~sum);
- }
-
--u_short cFilterInfosatepg::IPChecksum(iphdr *ipHeader)
-+u_short cFilterInfosatepg::IPChecksum(ip *ipHeader)
- {
-- return foldsum(do_sum(0, (u_char*) ipHeader, sizeof(iphdr)));
-+ return foldsum(do_sum(0, (u_char*) ipHeader, sizeof(ip)));
-
- } /* IpChecksum() */
-
-
--u_short cFilterInfosatepg::UDPChecksum(iphdr *ipHeader, udphdr *udpHeader)
-+u_short cFilterInfosatepg::UDPChecksum(ip *ipHeader, udphdr *udpHeader)
- {
- u_long sum = 0;
-
- // Ip-Pseudo-Header
-- sum = do_sum(sum, (u_char*)(&ipHeader->saddr), sizeof(ipHeader->saddr));
-- sum = do_sum(sum, (u_char*)(&ipHeader->daddr), sizeof(ipHeader->daddr));
-+ sum = do_sum(sum, (u_char*)(&ipHeader->ip_src), sizeof(ipHeader->ip_src));
-+ sum = do_sum(sum, (u_char*)(&ipHeader->ip_dst), sizeof(ipHeader->ip_dst));
-+#ifdef __linux__
- sum += udpHeader->len;
-- sum += ipHeader->protocol<<8;
-+#else
-+ sum += udpHeader->uh_ulen;
-+#endif
-+ sum += ipHeader->ip_p<<8;
-
-+#ifdef __linux__
- sum = do_sum(sum, (u_char*)udpHeader, ntohs(udpHeader->len));
-+#else
-+ sum = do_sum(sum, (u_char*)udpHeader, ntohs(udpHeader->uh_ulen));
-+#endif
-
- return foldsum(sum);
- }
-@@ -78,27 +89,27 @@ void cFilterInfosatepg::Process(u_short
-
- if (Data[0]!=0x3E) return;
-
-- struct ethhdr eth_hdr;
-- memset(&eth_hdr,0,sizeof(struct ethhdr));
-+ struct ether_header eth_hdr;
-+ memset(&eth_hdr,0,sizeof(struct ether_header));
-
-- eth_hdr.h_dest[0]=Data[11];
-- eth_hdr.h_dest[1]=Data[10];
-- eth_hdr.h_dest[2]=Data[9];
-- eth_hdr.h_dest[3]=Data[8];
-- eth_hdr.h_dest[4]=Data[4];
-- eth_hdr.h_dest[5]=Data[3];
-+ eth_hdr.ether_dhost[0]=Data[11];
-+ eth_hdr.ether_dhost[1]=Data[10];
-+ eth_hdr.ether_dhost[2]=Data[9];
-+ eth_hdr.ether_dhost[3]=Data[8];
-+ eth_hdr.ether_dhost[4]=Data[4];
-+ eth_hdr.ether_dhost[5]=Data[3];
-
- // check mac and range
- if (!global->CheckMAC(&eth_hdr)) return;
-
-- int mac = eth_hdr.h_dest[5];
-+ int mac = eth_hdr.ether_dhost[5];
- global->ActualMac=mac;
-
-- struct iphdr *ip_hdr = (iphdr *) &Data[SECT_IP_HDR_START];
-+ struct ip *ip_hdr = (ip *) &Data[SECT_IP_HDR_START];
- struct udphdr *udp_hdr = (udphdr *) &Data[SECT_UDP_HDR_START];
-
- // Only IPv4
-- if (ip_hdr->version!=4) return;
-+ if (ip_hdr->ip_v!=4) return;
-
- // Check IP checksum
- if (IPChecksum(ip_hdr)!=0)
-@@ -108,7 +119,7 @@ void cFilterInfosatepg::Process(u_short
- }
-
- // Only UDP
-- if (ip_hdr->protocol!=17) return;
-+ if (ip_hdr->ip_p!=17) return;
-
- // Check UDP checksum
- if (UDPChecksum(ip_hdr,udp_hdr)!=0)
-@@ -149,8 +160,8 @@ void cFilterInfosatepg::Process(u_short
-
-
- #ifdef VDRDEBUG
-- dsyslog("infosatepg: mac=%02x-%02x-%02x-%02x-%02x-%02x",eth_hdr.h_dest[0],eth_hdr.h_dest[1],
-- eth_hdr.h_dest[2],eth_hdr.h_dest[3],eth_hdr.h_dest[4],eth_hdr.h_dest[5] );
-+ dsyslog("infosatepg: mac=%02x-%02x-%02x-%02x-%02x-%02x",eth_hdr.ether_dhost[0],eth_hdr.ether_dhost[1],
-+ eth_hdr.ether_dhost[2],eth_hdr.ether_dhost[3],eth_hdr.ether_dhost[4],eth_hdr.ether_dhost[5] );
-
- dsyslog("infosatepg: tid=%04i tbl=%04i stbl=%04i day=%02i month=%02i pktnr=%03i pktcnt=%03i len=%i",
- ntohs(ishdr->technisatId),ishdr->tableId,ishdr->tablesubId,ishdr->day,
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-filter.h b/multimedia/vdr-plugin-infosatepg/files/patch-filter.h
deleted file mode 100644
index 12eba25de4c9..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-filter.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/filter.h
-+++ b/filter.h
-@@ -33,8 +33,8 @@ private:
- cGlobalInfosatepg *global;
- u_long do_sum(u_long sum, u_char *buf, int nBytes);
- u_short foldsum(u_long sum);
-- u_short IPChecksum(iphdr *ipHeader);
-- u_short UDPChecksum(iphdr *ipHeader, udphdr *udpHeader);
-+ u_short IPChecksum(ip *ipHeader);
-+ u_short UDPChecksum(ip *ipHeader, udphdr *udpHeader);
- protected:
- virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
- public:
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-global.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-global.cpp
deleted file mode 100644
index ef930518b315..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-global.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/global.cpp
-+++ b/global.cpp
-@@ -164,7 +164,11 @@ cGlobalInfosatepg::cGlobalInfosatepg()
- MAC[3]=0x02;
- MAC[4]=0x02;
- WaitTime=10; // default 10 seconds
-+#ifdef __FreeBSD__
-+ SetDirectory ("/var/cache/vdr/infosatepg");
-+#else
- SetDirectory ("/tmp");
-+#endif
- NoWakeup=false;
- NoDeferredShutdown=false;
- ActualMac=0;
-@@ -194,17 +198,17 @@ bool cGlobalInfosatepg::SetDirectory(con
- return true;
- }
-
--bool cGlobalInfosatepg::CheckMAC(struct ethhdr *eth_hdr)
-+bool cGlobalInfosatepg::CheckMAC(ether_header *eth_hdr)
- {
- if (!eth_hdr) return false;
-- if (eth_hdr->h_dest[0]!=MAC[0]) return false;
-- if (eth_hdr->h_dest[1]!=MAC[1]) return false;
-- if (eth_hdr->h_dest[2]!=MAC[2]) return false;
-- if (eth_hdr->h_dest[3]!=MAC[3]) return false;
-- if (eth_hdr->h_dest[4]!=MAC[4]) return false;
-+ if (eth_hdr->ether_dhost[0]!=MAC[0]) return false;
-+ if (eth_hdr->ether_dhost[1]!=MAC[1]) return false;
-+ if (eth_hdr->ether_dhost[2]!=MAC[2]) return false;
-+ if (eth_hdr->ether_dhost[3]!=MAC[3]) return false;
-+ if (eth_hdr->ether_dhost[4]!=MAC[4]) return false;
-
-- if (eth_hdr->h_dest[5]<EPG_FIRST_DAY_MAC) return false;
-- if (eth_hdr->h_dest[5]>EPG_LAST_DAY_MAC) return false;
-+ if (eth_hdr->ether_dhost[5]<EPG_FIRST_DAY_MAC) return false;
-+ if (eth_hdr->ether_dhost[5]>EPG_LAST_DAY_MAC) return false;
-
- return true;
- }
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-global.h b/multimedia/vdr-plugin-infosatepg/files/patch-global.h
deleted file mode 100644
index 3d2c418628a0..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-global.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/global.h
-+++ b/global.h
-@@ -9,8 +9,10 @@
- #ifndef __global_h_
- #define __global_h_
-
-+#include <sys/socket.h>
- #include <netinet/if_ether.h>
- #include <sys/types.h>
-+#include <ctype.h>
-
- #include <vdr/channels.h>
- #include <vdr/timers.h>
-@@ -162,7 +164,7 @@ public:
- return directory;
- }
- bool SetDirectory (const char *Directory);
-- bool CheckMAC (struct ethhdr *eth_hdr);
-+ bool CheckMAC (ether_header *eth_hdr);
- void SetWaitTimer()
- {
- timer=time (NULL);
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp
deleted file mode 100644
index f4e30a99c38b..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
---- infosatepg.cpp.orig
-+++ infosatepg.cpp
-@@ -190,10 +190,14 @@ void cPluginInfosatepg::MainThreadHook(v
- if (dev)
- {
- if (!dev->ProvidesTransponder(chan)) continue; // device cannot provide transponder -> skip
-+#if VDRVERSNUM >= 10726
-+ if (statusMonitor->m_LiveView) continue; // EITScanner is updating EPG -> skip
-+#else
- if (EITScanner.UsesDevice(dev)) continue; // EITScanner is updating EPG -> skip
-+#endif
- if (dev->Receiving()) continue; // device is recording -> skip
- if (dev->IsPrimaryDevice()) continue; // device is primary -> skip
-- if (cDevice::ActualDevice()->CardIndex()==i) continue; // device is live viewing -> skip
-+ if (cDevice::ActualDevice()->CardIndex()==dev->CardIndex()) continue; // device is live viewing -> skip
- if (dev->IsTunedToTransponder(chan))
- {
- // we already have a device which is tuned (maybe switched manually?)
-@@ -202,6 +206,8 @@ void cPluginInfosatepg::MainThreadHook(v
- return;
- }
-
-+ if (!dev->MaySwitchTransponder(chan)) continue; // bonded?
-+
- // ok -> use this device
- dsyslog("infosatepg: found free device %i",dev->DeviceNumber()+1);
- dev->SwitchChannel(chan,false);
-@@ -403,7 +409,7 @@ cString cPluginInfosatepg::SVDRPCommand(
- cString head2;
- head2="\n" \
- " | | missed | | | unlocated\n" \
-- " Day | Date | Packets | Received %% | Processed | Events\n" \
-+ " Day | Date | Packets | Received % | Processed | Events\n" \
- "------+--------+---------+------------+------------+----------\n";
-
- cString mstr;
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-process.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-process.cpp
deleted file mode 100644
index 7abc929f0483..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-process.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/process.cpp
-+++ b/process.cpp
-@@ -1047,7 +1047,9 @@ bool cProcessInfosatepg::ParseInfosatepg
- int ieventnr=1;
- cChannel *chan=NULL;
- cInfosatevent *ievent=NULL;
--#if VDRVERSNUM < 10701
-+// XXX don't default to assuming UTF-8 on FreeBSD (that's what the NULL does),
-+// its still often used without.
-+#if VDRVERSNUM < 10701 || defined(__FreeBSD__)
- cCharSetConv *conv = new cCharSetConv("ISO-8859-1",cCharSetConv::SystemCharacterTable() ?
- cCharSetConv::SystemCharacterTable() : "UTF-8");
- #else
-@@ -1139,7 +1141,12 @@ bool cProcessInfosatepg::ParseInfosatepg
- }
- int shour,sminute;
- char *title;
-+#ifdef __FreeBSD__
-+ title = (char *)malloc(strlen(s));
-+ fields=sscanf(s,"%d:%d %[^^]",&shour,&sminute,title);
-+#else
- fields=sscanf(s,"%d:%d %a[^^]",&shour,&sminute,&title);
-+#endif
- if (fields==3)
- {
- if (!ievent) ievent = new cInfosatevent;
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp
deleted file mode 100644
index c16dbcdbb13a..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/readline.cpp
-+++ b/readline.cpp
-@@ -10,6 +10,15 @@
- #include <stdio.h>
- #include "readline.h"
-
-+#ifdef __FreeBSD__
-+#include <string.h>
-+#if __FreeBSD_version > 800000
-+#define HAVE_GETLINE
-+#endif
-+#else
-+#define HAVE_GETLINE
-+#endif
-+
- extern char *strcatrealloc(char *dest, const char *src);
-
- // --- cReadLineInfosatepg ---------------------------------------------------
-@@ -36,7 +45,31 @@ char *cReadLineInfosatepg::Read(FILE *f,
- do
- {
- ext=false;
-+#ifndef HAVE_GETLINE
-+ size_t n;
-+
-+ if (!tempbuffer)
-+ {
-+ if (!(tempbuffer = (char *)malloc(tempsize = 4096)))
-+ return NULL;
-+ }
-+ if (!fgets(tempbuffer, tempsize, f))
-+ {
-+ if (tempbuffer) free(tempbuffer);
-+ return buffer;
-+ }
-+ while ((n = strlen(tempbuffer)) >= tempsize - 1 &&
-+ tempbuffer[n - 1] != '\n')
-+ {
-+ if (!(tempbuffer = (char *)realloc(tempbuffer, tempsize * 2)))
-+ return NULL;
-+ tempsize *= 2;
-+ if (!fgets(tempbuffer + n, tempsize - n, f))
-+ break;
-+ }
-+#else
- int n = getline(&tempbuffer, &tempsize, f);
-+#endif
- if (n > 0)
- {
- if (tempbuffer[n-1] == '\n')
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-status.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-status.cpp
deleted file mode 100644
index 454098d01eae..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-status.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
---- status.cpp.orig
-+++ status.cpp
-@@ -21,11 +21,18 @@ cStatusInfosatepg::~cStatusInfosatepg(vo
- if (myFilter) delete myFilter;
- }
-
-+#if VDRVERSNUM >= 10726
-+void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
-+#else
- void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber)
-+#endif
- {
- if (!ChannelNumber) return;
- if (!Device) return; // just to be safe
-
-+#if VDRVERSNUM >= 10726
-+ m_LiveView = LiveView;
-+#endif
- bool bAddFilter=false;
-
- // just add filter if we aren't locked
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-status.h b/multimedia/vdr-plugin-infosatepg/files/patch-status.h
deleted file mode 100644
index e53beb65135e..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-status.h
+++ /dev/null
@@ -1,18 +0,0 @@
---- status.h.orig
-+++ status.h
-@@ -20,8 +20,15 @@ private:
- cDevice *myFilterDevice;
- cGlobalInfosatepg *global;
- protected:
-+#if VDRVERSNUM >= 10726
-+ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
-+#else
- virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
-+#endif
- public:
-+#if VDRVERSNUM >= 10726
-+ bool m_LiveView;
-+#endif
- cStatusInfosatepg(cGlobalInfosatepg *Global);
- virtual ~cStatusInfosatepg(void);
- };
diff --git a/multimedia/vdr-plugin-infosatepg/pkg-descr b/multimedia/vdr-plugin-infosatepg/pkg-descr
deleted file mode 100644
index 00badb31a7b8..000000000000
--- a/multimedia/vdr-plugin-infosatepg/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-http://vdr-wiki.de/wiki/index.php/Infosatepg-plugin
-
-This plugin reads infosat EPG data from DVB-S.
diff --git a/multimedia/vdr-plugin-infosatepg/pkg-plist b/multimedia/vdr-plugin-infosatepg/pkg-plist
deleted file mode 100644
index 1147d9f5b89d..000000000000
--- a/multimedia/vdr-plugin-infosatepg/pkg-plist
+++ /dev/null
@@ -1,5 +0,0 @@
-lib/vdr/libvdr-infosatepg.so.%%APIVERSION%%
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-infosatepg.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-infosatepg.mo
-@dir(%%VDR_USER%%,%%VDR_GROUP%%,) /var/cache/vdr/infosatepg
-@dir /var/cache/vdr
diff --git a/multimedia/vdr-plugin-iptv/Makefile b/multimedia/vdr-plugin-iptv/Makefile
deleted file mode 100644
index 5a6073adc8d1..000000000000
--- a/multimedia/vdr-plugin-iptv/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-PORTNAME= vdr-plugin-iptv
-PORTVERSION= 1.0.1
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - IP television plugin
-WWW= http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-MAKE_ARGS= IPTV_EXTSHELL=/bin/sh
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-PORTEXAMPLES= channels.conf.iptv
-
-OPTIONS_DEFINE= DOCS EXAMPLES NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${REINPLACE_CMD} -e 's|^\(CHANNELS_CONF[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${PREFIX}/etc/vdr/channels.conf|;' \
- -e 's|^\(CHANNEL_SETTINGS_DIR[[:space:]]*\)[?]*\(=[[:space:]]*\)/etc|\1\2${PREFIX}/etc|;' \
- ${WRKSRC}/iptv/vlc2iptv
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput
- ${INSTALL_DATA} ${FILESDIR}/vlcinput/*.conf ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/image.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/image.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/internetradio.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/internetradio.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream-notrap.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream-notrap.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/linein.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/linein.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/vlc2iptv \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlc2iptv.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/webcam.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/webcam.sh.sample
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${FILESDIR}/channels.conf.iptv ${STAGEDIR}${EXAMPLESDIR}
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-iptv/distinfo b/multimedia/vdr-plugin-iptv/distinfo
deleted file mode 100644
index 58d881bd56dc..000000000000
--- a/multimedia/vdr-plugin-iptv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-iptv-1.0.1.tgz) = 2f6f468f44e6e8ab4d347459a43b8535a89b67a300c75080d9155341717476a8
-SIZE (vdr/vdr-iptv-1.0.1.tgz) = 50035
diff --git a/multimedia/vdr-plugin-iptv/files/channels.conf.iptv b/multimedia/vdr-plugin-iptv/files/channels.conf.iptv
deleted file mode 100644
index 3c4fe6f5d22f..000000000000
--- a/multimedia/vdr-plugin-iptv/files/channels.conf.iptv
+++ /dev/null
@@ -1,17 +0,0 @@
-:@950 iptv-plugin
-BBC-radio1;IPTV:2010:S=0|P=0|F=EXT|U=vlc2iptv|A=2010:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio1xtra;IPTV:2020:S=0|P=0|F=EXT|U=vlc2iptv|A=2020:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio2;IPTV:2030:S=0|P=0|F=EXT|U=vlc2iptv|A=2030:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio3;IPTV:2040:S=0|P=0|F=EXT|U=vlc2iptv|A=2040:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio4;IPTV:2050:S=0|P=0|F=EXT|U=vlc2iptv|A=2050:I:0:5=2:6=eng@3:0:0:1:0:0:0
-BBC-radio4lw;IPTV:2060:S=0|P=0|F=EXT|U=vlc2iptv|A=2060:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio5liveint;IPTV:2070:S=0|P=0|F=EXT|U=vlc2iptv|A=2070:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio5livesport;IPTV:2080:S=0|P=0|F=EXT|U=vlc2iptv|A=2080:I:0:5=2:6=eng@3:0:0:1:0:0:0
-BBC-radio6music;IPTV:2090:S=0|P=0|F=EXT|U=vlc2iptv|A=2090:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio7;IPTV:2100:S=0|P=0|F=EXT|U=vlc2iptv|A=2100:I:0:5=2:6=eng@3:0:0:1:0:0:0
-THE_VOICE;IPTV:3010:S=0|P=0|F=EXT|U=vlc2iptv|A=3010:I:0:0:6=eng@3:0:0:1:0:0:0
-3Sat;IPTV:3020:S=0|P=0|F=EXT|U=vlc2iptv|A=3020:I:0:2=2:3=@4:0:0:7:0:0:0
-Sky-News;IPTV:3030:S=0|P=0|F=EXT|U=vlc2iptv|A=3030:I:0:5=2:6=eng@3:0:0:1:0:0:0
-NASA;IPTV:4010:S=0|P=0|F=EXT|U=vlc2iptv|A=4010:I:0:5=2:6=eng@3:0:0:1:0:0:0
-NASA-500-Kbit;IPTV:4020:S=0|P=0|F=EXT|U=vlc2iptv|A=4020:I:0:5=2:6=eng@3:0:0:1:0:0:0
-NASA-1200-Kbit;IPTV:4030:S=0|P=0|F=EXT|U=vlc2iptv|A=4030:I:0:5=2:6=eng@3:0:0:1:0:0:0
diff --git a/multimedia/vdr-plugin-iptv/files/patch-Makefile b/multimedia/vdr-plugin-iptv/files/patch-Makefile
deleted file mode 100644
index 8099e1af3ea3..000000000000
--- a/multimedia/vdr-plugin-iptv/files/patch-Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -12,7 +12,8 @@
- STRIP = strip
-
- # Install command
--INSTALL = cp --remove-destination
-+#INSTALL = cp --remove-destination
-+INSTALL = cp -f
-
- # The official name of this plugin.
- # This name will be used in the '-P...' option of VDR to load the plugin.
-@@ -58,7 +58,8 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+#INCLUDES += -I$(VDRDIR)/include
-+INCLUDES += -I$(VDRDIR)
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -148,3 +149,5 @@ clean:
-
- cppcheck: $(OBJS)
- @cppcheck --enable=information,style,unusedFunction -v -f $(OBJS:%.o=%.c)
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv b/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv
deleted file mode 100644
index 0db083d35828..000000000000
--- a/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/iptv/vlc2iptv
-+++ b/iptv/vlc2iptv
-@@ -29,6 +29,8 @@ CHANNELS_CONF=/usr/local/etc/vdr/channel
- CHANNEL_SETTINGS_DIR=/usr/local/etc/vdr/plugins/iptv/vlcinput/
- VIDEO_BITRATE=2400
- AUDIO_BITRATE=320
-+AUDIO_CODEC=mpga
-+VIDEO_CODEC=mp2v
-
- #
- # </Global Settings>
-@@ -88,13 +90,6 @@ else
- RESIZE_OPTIONS=""
- fi
-
--vlc "${URL}" \
-- --sout "#transcode{vcodec=mp2v$RESIZE_OPTIONS,acodec=mpga,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \
-- --intf dummy &
--
--PID=${!}
--
--trap 'kill -INT ${PID} 2> /dev/null' INT EXIT QUIT TERM
--
--# Waiting for the given PID to terminate
--wait ${PID}
-+exec vlc "${URL}" \
-+ --sout "#transcode{vcodec=$VIDEO_CODEC$RESIZE_OPTIONS,acodec=$AUDIO_CODEC,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \
-+ --intf dummy
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf
deleted file mode 100644
index 1c26db3a5d25..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="http://wstreaming.zdf.de/encoder/3sat_h.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf
deleted file mode 100644
index 3dc4291e3bef..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r1.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf
deleted file mode 100644
index 50438deeef78..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r1x.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf
deleted file mode 100644
index 7a5e314564e1..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r2.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf
deleted file mode 100644
index e6d09c2e0f24..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r3.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf
deleted file mode 100644
index eb918da91160..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r4.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf
deleted file mode 100644
index d223215d43e7..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r4lw.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf
deleted file mode 100644
index 62c8fcc4cc20..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/fivelive/live/live_int.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf
deleted file mode 100644
index 1024a0006956..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r5lsp.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf
deleted file mode 100644
index 582196ac084e..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r6.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf
deleted file mode 100644
index 9d7961eb68cc..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r7.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf
deleted file mode 100644
index a72ebfa097bf..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="http://www.bundesligen-tv.com/act_stream.aspx?sender_id=31"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf
deleted file mode 100644
index e242e1cf8245..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="rtsp://real.prohosting.com/encoder/daytona.rm"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf
deleted file mode 100644
index 0d712d8c59f8..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-URL="http://playlist.yahoo.com/makeplaylist.dll?id=1368163"
-VIDEO_CODEC=mp2v,fps=30
-AUDIO_BITRATE=128
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf
deleted file mode 100644
index 860fcf49eb08..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-URL="http://playlist.yahoo.com/makeplaylist.dll?id=1368570"
-VIDEO_CODEC=mp2v,fps=30
-AUDIO_BITRATE=128
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf
deleted file mode 100644
index dea4eb95ad7e..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-URL="http://www.nasa.gov/55644main_NASATV_Windows.asx"
-VIDEO_CODEC=mp2v,fps=25
-AUDIO_BITRATE=128
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf
deleted file mode 100644
index 045037b93788..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-URL="mms://live1.wm.skynews.servecast.net/skynews_wmlz_live300k"
-VIDEO_CODEC=mp2v,fps=30
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf
deleted file mode 100644
index 82324adf6915..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="mms://62.41.56.32/PUBLIC_votv_fi"
diff --git a/multimedia/vdr-plugin-iptv/pkg-descr b/multimedia/vdr-plugin-iptv/pkg-descr
deleted file mode 100644
index 188fc6424841..000000000000
--- a/multimedia/vdr-plugin-iptv/pkg-descr
+++ /dev/null
@@ -1,18 +0,0 @@
-This is an IPTV plugin for the Video Disk Recorder (VDR).
-
-This plugin integrates multicast IPTV transport streams seamlessly into
-VDR. You can use any IPTV channel like any other normal DVB channel for
-live viewing, recording, etc. The plugin also features full section
-filtering capabilities which allow for example EIT information to be
-extracted from the incoming stream.
-
-Currently the IPTV plugin has direct support for both multicast UDP/RTP
-and unicast HTTP MPEG1/2 transport streams. Also a file input method is
-supported, but a file delay must be selected individually to prevent
-VDR's transfer buffer over/underflow. Therefore the file input should be
-considered as a testing feature only.
-
-IPTV plugin also features a support for external streaming applications.
-With proper helper applications and configuration IPTV plugin is able to
-display not only MPEG1/2 transport streams but also other formats like
-MP3 radio streams, mms video streams and so on.
diff --git a/multimedia/vdr-plugin-iptv/pkg-plist b/multimedia/vdr-plugin-iptv/pkg-plist
deleted file mode 100644
index 28e9de9c84cd..000000000000
--- a/multimedia/vdr-plugin-iptv/pkg-plist
+++ /dev/null
@@ -1,32 +0,0 @@
-lib/vdr/libvdr-iptv.so.%%APIVERSION%%
-@sample etc/vdr/plugins/iptv/image.sh.sample
-@sample etc/vdr/plugins/iptv/internetradio.sh.sample
-@sample etc/vdr/plugins/iptv/iptvstream-notrap.sh.sample
-@sample etc/vdr/plugins/iptv/iptvstream.sh.sample
-@sample etc/vdr/plugins/iptv/linein.sh.sample
-@sample etc/vdr/plugins/iptv/vlc2iptv.sample
-@sample etc/vdr/plugins/iptv/webcam.sh.sample
-etc/vdr/plugins/iptv/vlcinput/3Sat.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio1.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio1xtra.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio2.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio3.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio4.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio4lw.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio5liveint.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio5livesport.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio6music.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio7.conf
-etc/vdr/plugins/iptv/vlcinput/Bundesligen-TV.conf
-etc/vdr/plugins/iptv/vlcinput/Daytona-Beach.conf
-etc/vdr/plugins/iptv/vlcinput/NASA-1200-Kbit.conf
-etc/vdr/plugins/iptv/vlcinput/NASA-500-Kbit.conf
-etc/vdr/plugins/iptv/vlcinput/NASA.conf
-etc/vdr/plugins/iptv/vlcinput/Sky-News.conf
-etc/vdr/plugins/iptv/vlcinput/THE_VOICE.conf
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-iptv.mo
diff --git a/multimedia/vdr-plugin-markad/Makefile b/multimedia/vdr-plugin-markad/Makefile
deleted file mode 100644
index da6265f30aa0..000000000000
--- a/multimedia/vdr-plugin-markad/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-PORTNAME= vdr-plugin-markad
-PORTVERSION= 0.1.4
-PORTREVISION= 12
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/1041/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - MarkAd plugin
-WWW= https://projects.vdr-developer.org/projects/plg-markad
-
-LICENSE= GPLv2+ LOGOS
-LICENSE_COMB= multi
-LICENSE_NAME_LOGOS= Station logos
-LICENSE_TEXT_LOGOS= Installs station logos
-LICENSE_FILE_GPLv2+ = ${WRKSRC}/COPYING
-LICENSE_PERMS_LOGOS= auto-accept
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-BROKEN= does not fetch
-
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-
-USES= compiler:c++11-lang pkgconfig tar:tgz
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-VDR_PLUGIN_MAKEFILES= ${WRKSRC}/command/Makefile ${WRKSRC}/plugin/Makefile
-DEFINES= -DDATADIR=\\\"${DATADIR}\\\" -DPREFIX=\\\"${PREFIX}\\\"
-MAKE_ARGS= DATADIR=${DATADIR} FREEBSD=1
-MAKE_ENV= DEFINES="${DEFINES}"
-
-PORTDOCS= README HISTORY
-PORTDATA= logos
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-# for libexecinfo: (so that __builtin_frame_address() finds the top
-# of the stack)
-.if ${ARCH} == "amd64"
-CFLAGS+= -fno-omit-frame-pointer
-CPPFLAGS+= -fno-omit-frame-pointer
-.endif
-
-post-patch: post-patch-plugin
- @${LN} -s ../lib ../locale ${WRKSRC}
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-markad/distinfo b/multimedia/vdr-plugin-markad/distinfo
deleted file mode 100644
index b75e1e503b9c..000000000000
--- a/multimedia/vdr-plugin-markad/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-markad-0.1.4.tgz) = f940765c5dd4a5d66e1ff2650fa0a2b7bda7138953782431230a6c7539334a85
-SIZE (vdr/vdr-markad-0.1.4.tgz) = 118728
diff --git a/multimedia/vdr-plugin-markad/files/patch-Makefile b/multimedia/vdr-plugin-markad/files/patch-Makefile
deleted file mode 100644
index 19c2fd44c3a1..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- Makefile.orig 2012-09-11 07:55:41 UTC
-+++ Makefile
-@@ -13,10 +13,10 @@ ARCHIVE = markad-$(VERSION)
- PACKAGE = vdr-$(ARCHIVE)
-
- all:
-- for i in $(DIRS); do $(MAKE) -C $$i; done
-+ for i in $(DIRS); do $(MAKE) -C $$i CC=${CC} CXX=${CXX}; done
-
- install:
-- for i in $(DIRS); do $(MAKE) -C $$i install; done
-+ for i in $(DIRS); do $(MAKE) -C $$i CC=${CC} CXX=${CXX} install; done
-
- dist:
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_Makefile b/multimedia/vdr-plugin-markad/files/patch-command_Makefile
deleted file mode 100644
index d849bfda235c..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
---- command/Makefile.orig 2012-09-11 07:54:03 UTC
-+++ command/Makefile
-@@ -16,6 +16,10 @@ CXXFLAGS ?= -g -rdynamic -O3 -funroll-lo
- PKG-CONFIG ?= pkg-config
- STRIP ?= strip
-
-+ifdef FREEBSD
-+LIBS+=-lintl -lexecinfo
-+endif
-+
- ### Includes and Defines (add further entries here):
-
- PKG-LIBS += libavcodec libavutil
-@@ -86,17 +90,34 @@ markad: $(OBJS)
- $(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@
-
-
-+ifdef FREEBSD
-+MANDIR = $(PREFIX)/man
-+else
- MANDIR = $(DESTDIR)/usr/share/man
-+endif
- install-doc:
-+ifdef FREEBSD
-+ @mkdir -p ${DESTDIR}$(MANDIR)/man1
-+ @gzip -c markad.1 > ${DESTDIR}$(MANDIR)/man1/markad.1.gz
-+else
- @mkdir -p $(MANDIR)/man1
- @gzip -c markad.1 > $(MANDIR)/man1/markad.1.gz
-+endif
-
- install: install-doc markad $(I18Nmsgs)
-+ifdef FREEBSD
-+ @mkdir -p ${DESTDIR}$(PREFIX)/bin
-+ @cp -f markad ${DESTDIR}$(PREFIX)/bin/markad
-+ @$(STRIP) ${DESTDIR}$(PREFIX)/bin/markad
-+ @mkdir -p ${DESTDIR}$(DATADIR)/logos
-+ @cp logos/* ${DESTDIR}$(DATADIR)/logos
-+else
- @mkdir -p $(DESTDIR)/usr/bin
- @cp --remove-destination markad $(DESTDIR)/usr/bin/markad
- @$(STRIP) $(DESTDIR)/usr/bin/markad
- @mkdir -p $(DESTDIR)/var/lib/markad
- @cp -a logos/* $(DESTDIR)/var/lib/markad
-+endif
- @echo markad installed
-
- clean:
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp b/multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp
deleted file mode 100644
index 8f015359e794..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
---- command/decoder.cpp.orig 2012-04-02 19:41:15 UTC
-+++ command/decoder.cpp
-@@ -6,11 +6,17 @@
- */
-
- #include <stdint.h>
-+#ifndef __FreeBSD__
- #include <sched.h>
-+#else
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#endif
- #include <errno.h>
- #include <sys/types.h>
- #include <string.h>
- #include <cstdlib>
-+#include <stdio.h>
-
- #include "decoder.h"
-
-@@ -113,6 +119,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
-
- noticeERRVID=false;
-
-+#ifndef __FreeBSD__
- cpu_set_t cpumask;
- uint len = sizeof(cpumask);
- int cpucount=1;
-@@ -120,6 +127,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- {
- cpucount=CPU_COUNT(&cpumask);
- }
-+#else
-+ int cpucount;
-+ size_t cpus_size = sizeof(cpucount);
-+ if (sysctlbyname("hw.ncpu", &cpucount, &cpus_size, NULL, 0) == -1)
-+ cpucount = 1;
-+#endif
-
- if (Threads==-1)
- {
-@@ -151,41 +164,47 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- }
-
- video_codec=NULL;
-- CodecID video_codecid;
-+ AVCodecID video_codecid;
-
- if (useH264)
- {
-- video_codecid=CODEC_ID_H264;
-+ video_codecid=AV_CODEC_ID_H264;
- }
- else
- {
-- video_codecid=CODEC_ID_MPEG2VIDEO_XVMC;
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO_XVMC;
-+#else
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
-+#endif
- }
-
- video_codec = avcodec_find_decoder(video_codecid);
-- if ((!video_codec) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC))
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ if ((!video_codec) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC))
- {
- // fallback to MPEG2VIDEO
-- video_codecid=CODEC_ID_MPEG2VIDEO;
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
- video_codec=avcodec_find_decoder(video_codecid);
- }
-+#endif
-
- if (video_codec)
- {
-- video_context = avcodec_alloc_context();
-+ video_context = avcodec_alloc_context3(NULL);
- if (video_context)
- {
-- if (video_codec->capabilities & CODEC_CAP_TRUNCATED)
-- video_context->flags|=CODEC_FLAG_TRUNCATED; // we do not send complete frames
-+ if (video_codec->capabilities & AV_CODEC_CAP_TRUNCATED)
-+ video_context->flags|=AV_CODEC_FLAG_TRUNCATED; // we do not send complete frames
-
-- video_context->flags2|=CODEC_FLAG2_FAST; // really?
-+ video_context->flags2|=AV_CODEC_FLAG2_FAST; // really?
- video_context->skip_idct=AVDISCARD_ALL;
-
- av_log_set_level(AV_LOG_FATAL); // silence decoder output
-
-- if (video_codecid==CODEC_ID_H264)
-+ if (video_codecid==AV_CODEC_ID_H264)
- {
-- video_context->flags2|=CODEC_FLAG2_CHUNKS; // needed for H264!
-+ video_context->flags2|=AV_CODEC_FLAG2_CHUNKS; // needed for H264!
- }
- else
- {
-@@ -198,17 +217,23 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- #else
- int ret=avcodec_open(video_context, video_codec);
- #endif
-- if ((ret < 0) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC))
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ if ((ret < 0) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC))
-+#else
-+ if (ret < 0)
-+#endif
- {
- // fallback to MPEG2VIDEO
-- video_codecid=CODEC_ID_MPEG2VIDEO;
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
- video_codec=avcodec_find_decoder(video_codecid);
- if (video_codec)
- {
- video_context->codec_type=AVMEDIA_TYPE_UNKNOWN;
-- video_context->codec_id=CODEC_ID_NONE;
-+ video_context->codec_id=AV_CODEC_ID_NONE;
- video_context->codec_tag=0;
-+#if LIBAVCODEC_VERSION_INT < ((58<<16)+(0<<8)+0)
- memset(video_context->codec_name,0,sizeof(video_context->codec_name));
-+#endif
- #if LIBAVCODEC_VERSION_INT >= ((53<<16)+(5<<8)+0)
- video_context->thread_count=threadcount;
- ret=avcodec_open2(video_context, video_codec, NULL);
-@@ -225,13 +250,15 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- {
- switch (video_codecid)
- {
-- case CODEC_ID_H264:
-+ case AV_CODEC_ID_H264:
- esyslog("could not open codec for H264");
- break;
-- case CODEC_ID_MPEG2VIDEO_XVMC:
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ case AV_CODEC_ID_MPEG2VIDEO_XVMC:
- esyslog("could not open codec MPEG2 (XVMC)");
- break;
-- case CODEC_ID_MPEG2VIDEO:
-+#endif
-+ case AV_CODEC_ID_MPEG2VIDEO:
- esyslog("could not open codec MPEG2");
- break;
- default:
-@@ -256,7 +283,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- }
- #endif
-
-- video_frame = avcodec_alloc_frame();
-+ video_frame = av_frame_alloc();
- if (!video_frame)
- {
- esyslog("could not allocate frame");
-@@ -286,13 +313,15 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- {
- switch (video_codecid)
- {
-- case CODEC_ID_H264:
-+ case AV_CODEC_ID_H264:
- esyslog("codec for H264 not found");
- break;
-- case CODEC_ID_MPEG2VIDEO_XVMC:
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ case AV_CODEC_ID_MPEG2VIDEO_XVMC:
- esyslog("codec for MPEG2 (XVMC) not found");
- break;
-- case CODEC_ID_MPEG2VIDEO:
-+#endif
-+ case AV_CODEC_ID_MPEG2VIDEO:
- esyslog("codec for MPEG2 not found");
- break;
- default:
-@@ -321,7 +350,7 @@ bool cMarkAdDecoder::Clear()
- {
- avcodec_flush_buffers(video_context);
- AVCodecContext *dest;
-- dest=avcodec_alloc_context();
-+ dest=avcodec_alloc_context3(NULL);
- if (dest)
- {
- if (avcodec_copy_context(dest,video_context)!=0) ret=false;
-@@ -384,7 +413,7 @@ bool cMarkAdDecoder::DecodeVideo(MarkAdContext *maCont
- if (!video_frame) return false;
- maContext->Video.Data.Valid=false;
-
-- if ((video_context->codec_id==CODEC_ID_H264) && (!video_context->skip_frame))
-+ if ((video_context->codec_id==AV_CODEC_ID_H264) && (!video_context->skip_frame))
- {
- // with H264 we cannot set skip_frame just to NONKEY, is depends on Interlaced...
- if (maContext->Video.Info.Height)
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_decoder.h b/multimedia/vdr-plugin-markad/files/patch-command_decoder.h
deleted file mode 100644
index 52e1c7124424..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_decoder.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- command/decoder.h.orig 2012-02-24 20:08:34 UTC
-+++ command/decoder.h
-@@ -18,6 +18,7 @@ extern "C"
- #include <avcodec.h>
- #else
- #include <libavcodec/avcodec.h>
-+#include <libavutil/mem.h>
- #endif
-
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp b/multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp
deleted file mode 100644
index 3417fbdee961..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
---- command/markad-standalone.cpp.orig 2012-09-11 11:06:28 UTC
-+++ command/markad-standalone.cpp
-@@ -24,7 +24,13 @@
- #include <locale.h>
- #include <libintl.h>
- #include <execinfo.h>
-+#ifndef __FreeBSD__
- #include <mntent.h>
-+#else
-+#include <netinet/in.h>
-+#include <sys/socket.h>
-+#include <sys/mount.h>
-+#endif
- #include <utime.h>
- #include <math.h>
- #include <limits.h>
-@@ -1428,6 +1434,7 @@ bool cMarkAdStandalone::SaveInfo()
- time_t cMarkAdStandalone::GetBroadcastStart(time_t start, int fd)
- {
- // get broadcast start from atime of directory (if the volume is mounted with noatime)
-+#ifndef __FreeBSD__
- struct mntent *ent;
- struct stat statbuf;
- FILE *mounts=setmntent(_PATH_MOUNTED,"r");
-@@ -1454,6 +1461,14 @@ time_t cMarkAdStandalone::GetBroadcastSt
- }
- }
- endmntent(mounts);
-+#else
-+ struct stat statbuf;
-+ struct statfs statfsbuf;
-+ bool useatime=false;
-+ if ((statfs(directory, &statfsbuf) == 0) &&
-+ !(statfsbuf.f_flags & MNT_NOATIME))
-+ useatime=true;
-+#endif
-
- if ((useatime) && (stat(directory,&statbuf)!=-1))
- {
-@@ -1554,6 +1569,16 @@ bool cMarkAdStandalone::LoadInfo()
- if (lf) *lf=0;
- char *cr=strchr(macontext.Info.ChannelName,13);
- if (cr) *cr=0;
-+#if 1
-+ int len = strlen(macontext.Info.ChannelName);
-+ if (len > 5 &&
-+ (!strcmp(macontext.Info.ChannelName + len - 4, " (A)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (C)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (S)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (T)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (I)")))
-+ macontext.Info.ChannelName[len - 4] = '\0';
-+#endif
- for (int i=0; i<(int) strlen(macontext.Info.ChannelName); i++)
- {
- if (macontext.Info.ChannelName[i]==' ') macontext.Info.ChannelName[i]='_';
-@@ -1961,10 +1986,14 @@ bool cMarkAdStandalone::CreatePidfile()
- int pid;
- if (fscanf(oldpid,"%10i\n",&pid)==1)
- {
-+#ifndef __FreeBSD__
- char procname[256]="";
- snprintf(procname,sizeof(procname),"/proc/%i",pid);
- struct stat statbuf;
- if (stat(procname,&statbuf)!=-1)
-+#else
-+ if (kill(pid, 0) == 0)
-+#endif
- {
- // found another, running markad
- fprintf(stderr,"another instance is running on %s",directory);
-@@ -2081,6 +2110,7 @@ cMarkAdStandalone::cMarkAdStandalone(con
- }
- }
-
-+#ifndef __FreeBSD__
- long lb;
- errno=0;
- lb=sysconf(_SC_LONG_BIT);
-@@ -2089,6 +2119,7 @@ cMarkAdStandalone::cMarkAdStandalone(con
- isyslog("starting v%s (%libit)",VERSION,lb);
- }
- else
-+#endif
- {
- isyslog("starting v%s",VERSION);
- }
-@@ -2319,7 +2350,7 @@ cMarkAdStandalone::~cMarkAdStandalone()
- RemovePidfile();
- }
-
--bool isnumber(const char *s)
-+bool str_isnumber(const char *s)
- {
- while (*s)
- {
-@@ -2345,7 +2376,11 @@ int usage(int svdrpport)
- " ignores hints from info(.vdr) file\n"
- " <info> 4 = ignore timer info\n"
- "-l --logocachedir\n"
-+#ifdef DATADIR
-+ " directory where logos stored, default " DATADIR "/logos\n"
-+#else
- " directory where logos stored, default /var/lib/markad\n"
-+#endif
- "-p --priority=<priority>\n"
- " software priority of markad when running in background\n"
- " <priority> from -20...19, default 19\n"
-@@ -2489,7 +2524,11 @@ int main(int argc, char *argv[])
- config.logoHeight=-1;
- config.threads=-1;
- strcpy(config.svdrphost,"127.0.0.1");
-+#ifdef DATADIR
-+ strcpy(config.logoDirectory,DATADIR "/logos");
-+#else
- strcpy(config.logoDirectory,"/var/lib/markad");
-+#endif
-
- struct servent *serv=getservbyname("svdrp","tcp");
- if (serv)
-@@ -2620,7 +2659,7 @@ int main(int argc, char *argv[])
-
- case 'p':
- // --priority
-- if (isnumber(optarg) || *optarg=='-')
-+ if (str_isnumber(optarg) || *optarg=='-')
- niceLevel = atoi(optarg);
- else
- {
-@@ -2806,7 +2845,7 @@ int main(int argc, char *argv[])
- break;
-
- case 9: // --svdrpport
-- if (isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536)
-+ if (str_isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536)
- {
- config.svdrpport=atoi(optarg);
- }
diff --git a/multimedia/vdr-plugin-markad/files/patch-plugin_Makefile b/multimedia/vdr-plugin-markad/files/patch-plugin_Makefile
deleted file mode 100644
index 6471e82124d7..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-plugin_Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
---- plugin/Makefile.orig 2012-02-13 19:32:27 UTC
-+++ plugin/Makefile
-@@ -99,11 +99,19 @@ i18n: $(I18Nmsgs) $(I18Npot)
- ### Targets:
-
- install: all
-+ifdef FREEBSD
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+else
- cp --remove-destination libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@
-+ifdef FREEBSD
-+ cp -f libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
-+else
- cp --remove-destination libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
-+endif
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.so.* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
diff --git a/multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp b/multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp
deleted file mode 100644
index 86a4a947806e..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- plugin/markad.cpp.orig 2012-09-10 12:45:12 UTC
-+++ plugin/markad.cpp
-@@ -15,8 +15,16 @@
-
- #include "markad.h"
-
-+#ifdef PREFIX
-+#define DEF_BINDIR PREFIX "/bin"
-+#else
- #define DEF_BINDIR "/usr/bin"
-+#endif
-+#ifdef DATADIR
-+#define DEF_LOGODIR DATADIR "/logos"
-+#else
- #define DEF_LOGODIR "/var/lib/markad"
-+#endif
-
- cPluginMarkAd::cPluginMarkAd(void)
- {
diff --git a/multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp b/multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp
deleted file mode 100644
index 82f6f6224b82..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
---- plugin/status.cpp.orig 2012-09-09 23:00:32 UTC
-+++ plugin/status.cpp
-@@ -6,6 +6,12 @@
- */
-
- #include <signal.h>
-+#ifdef __FreeBSD__
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#include <sys/vmmeter.h>
-+#endif
-
- #include "status.h"
-
-@@ -135,7 +141,12 @@ bool cStatusMarkAd::LogoExists(const cha
- cTimer *timer=NULL;
- for (cTimer *Timer = Timers.First(); Timer; Timer=Timers.Next(Timer))
- {
-+#if 1
-+ if (Timer->Recording() &&
-+ (!strcmp(Timer->ToDescr(),Name) || !strcmp(Timer->File(),Name)))
-+#else
- if (Timer->Recording() && (!strcmp(Timer->ToDescr(),Name)))
-+#endif
- {
- timer=Timer;
- break;
-@@ -150,6 +161,16 @@ bool cStatusMarkAd::LogoExists(const cha
- if (!chan) return false;
- char *cname=strdup(chan->Name());
- if (!cname) return false;
-+#if 1
-+ int len = strlen(cname);
-+ if (len > 5 &&
-+ (!strcmp(cname + len - 4, " (A)") ||
-+ !strcmp(cname + len - 4, " (C)") ||
-+ !strcmp(cname + len - 4, " (S)") ||
-+ !strcmp(cname + len - 4, " (T)") ||
-+ !strcmp(cname + len - 4, " (I)")))
-+ cname[len - 4] = '\0';
-+#endif
- for (int i=0; i<(int) strlen(cname); i++)
- {
- if (cname[i]==' ') cname[i]='_';
-@@ -233,6 +254,7 @@ bool cStatusMarkAd::getStatus(int Positi
- if (Position<0) return false;
- if (!recs[Position].Pid) return false;
- int ret=0;
-+#ifndef __FreeBSD__
- char procname[256]="";
- snprintf(procname,sizeof(procname),"/proc/%i/stat",recs[Position].Pid);
- FILE *fstat=fopen(procname,"r");
-@@ -252,6 +274,59 @@ bool cStatusMarkAd::getStatus(int Positi
- }
- }
- return (ret==1);
-+#else
-+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, recs[Position].Pid};
-+ size_t len = 0;
-+ struct kinfo_proc *kipp = NULL;
-+ if (sysctl(mib, sizeof(mib)/sizeof(*mib), NULL, &len, NULL, 0) >= 0 &&
-+ (kipp = (kinfo_proc *)malloc(len)) != NULL &&
-+ sysctl(mib, sizeof(mib)/sizeof(*mib), kipp, &len, NULL, 0) >= 0 &&
-+ len == sizeof(*kipp) && kipp->ki_structsize == sizeof(*kipp) &&
-+ kipp->ki_pid == recs[Position].Pid) {
-+
-+ int tdflags = kipp->ki_tdflags; /* XXXKSE */
-+
-+ ret = 1;
-+
-+ switch (kipp->ki_stat) {
-+
-+ case SSTOP:
-+ recs[Position].Status = 'T';
-+ break;
-+
-+ case SSLEEP:
-+ if (tdflags & TDF_SINTR) /* interruptable (long) */
-+ recs[Position].Status = /* kipp->ki_slptime >= MAXSLP ? 'I' : */ 'S';
-+ else
-+ recs[Position].Status = 'D';
-+ break;
-+
-+ case SRUN:
-+ case SIDL:
-+ recs[Position].Status = 'R';
-+ break;
-+
-+ case SWAIT:
-+ recs[Position].Status = 'W';
-+ break;
-+
-+ case SLOCK:
-+ recs[Position].Status = 'L';
-+ break;
-+
-+ case SZOMB:
-+ recs[Position].Status = 'Z';
-+ break;
-+
-+ default:
-+ recs[Position].Status = '?';
-+ }
-+ } else {
-+ Remove(Position);
-+ }
-+ free(kipp);
-+ return ret;
-+#endif
- }
-
- bool cStatusMarkAd::getPid(int Position)
diff --git a/multimedia/vdr-plugin-markad/pkg-descr b/multimedia/vdr-plugin-markad/pkg-descr
deleted file mode 100644
index e56d3f0ddbbf..000000000000
--- a/multimedia/vdr-plugin-markad/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Markad-plugin
-
-MarkAd marks advertisements in VDR recordings.
diff --git a/multimedia/vdr-plugin-markad/pkg-plist b/multimedia/vdr-plugin-markad/pkg-plist
deleted file mode 100644
index aa52462031e4..000000000000
--- a/multimedia/vdr-plugin-markad/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-bin/markad
-lib/vdr/libvdr-markad.so.%%APIVERSION%%
-man/man1/markad.1.gz
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/markad.mo
diff --git a/multimedia/vdr-plugin-osdpip/Makefile b/multimedia/vdr-plugin-osdpip/Makefile
deleted file mode 100644
index b0d46712a256..000000000000
--- a/multimedia/vdr-plugin-osdpip/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-PORTNAME= vdr-plugin-osdpip
-PORTVERSION= 0.1.2
-PORTREVISION= 11
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/961/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-DIST_SUBDIR= vdr
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - picture-in-picture plugin
-WWW= https://projects.vdr-developer.org/projects/plg-osdpip
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BROKEN= fails to build with FFmpeg 6
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-LIB_DEPENDS+= libavcodec.so:multimedia/ffmpeg
-
-USES= pkgconfig tar:tgz
-PORTDOCS= COPYING README HISTORY
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-osdpip/distinfo b/multimedia/vdr-plugin-osdpip/distinfo
deleted file mode 100644
index ac493758c461..000000000000
--- a/multimedia/vdr-plugin-osdpip/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1465488132
-SHA256 (vdr/vdr-osdpip-0.1.2.tgz) = 08761f6474dd2e5bd4d3dc83b4d2d3b9169a04931cb8aca2e54fdb5ad979a0c6
-SIZE (vdr/vdr-osdpip-0.1.2.tgz) = 50756
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-Makefile b/multimedia/vdr-plugin-osdpip/files/patch-Makefile
deleted file mode 100644
index 22ad1da58b49..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- Makefile.orig 2012-05-16 19:06:00 UTC
-+++ Makefile
-@@ -156,7 +156,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared -o $@ $^ $(LIBS)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -168,3 +172,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-decoder.c b/multimedia/vdr-plugin-osdpip/files/patch-decoder.c
deleted file mode 100644
index 8ec85a41931b..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-decoder.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- decoder.c.orig 2012-02-12 12:24:00 UTC
-+++ decoder.c
-@@ -55,13 +55,13 @@ int cDecoder::Close()
- {
- #ifndef USE_SWSCALE
- delete[] m_BufferConvert;
-- free(m_PicConvert);
-+ av_free(m_PicConvert);
- #endif
- delete[] m_BufferResample;
-- free(m_PicResample);
-+ av_free(m_PicResample);
- avcodec_close(m_Context);
-- free(m_Context);
-- free(m_PicDecoded);
-+ av_free(m_Context);
-+ av_free(m_PicDecoded);
-
- return 0;
- }
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1 b/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1
deleted file mode 100644
index 11877a9524a3..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: decoder.h
-===================================================================
---- decoder.h.orig
-+++ decoder.h
-@@ -34,7 +34,7 @@ extern "C"
- #include <libavcodec/avcodec.h>
- #ifdef USE_SWSCALE
- #include <libswscale/swscale.h>
-- #include <libavcodec/opt.h>
-+ #include <libavutil/opt.h>
- #endif
- #else
- #include <ffmpeg/avcodec.h>
-Index: osdpip.c
-===================================================================
---- osdpip.c.orig
-+++ osdpip.c
-@@ -73,8 +73,6 @@ bool cPluginOsdpip::ProcessArgs(int argc
-
- bool cPluginOsdpip::Initialize(void)
- {
-- // must be called before using avcodec lib
-- avcodec_init();
- // register all the codecs (you can also register only the codec
- // you wish to have smaller code)
- avcodec_register_all();
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg3 b/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg3
deleted file mode 100644
index 221667268acf..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg3
+++ /dev/null
@@ -1,52 +0,0 @@
---- decoder.c.orig 2016-06-11 10:45:23.850303000 +0200
-+++ decoder.c 2016-06-11 10:50:57.243181000 +0200
-@@ -28,7 +28,7 @@
-
- int cDecoder::Open()
- {
-- m_Codec = avcodec_find_decoder(CODEC_ID_MPEG2VIDEO);
-+ m_Codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
- if (!m_Codec)
- {
- printf("codec not found\n");
-@@ -40,8 +40,8 @@
- printf("could not open codec\n");
- return -1;
- }
-- m_PicDecoded = avcodec_alloc_frame();
-- m_PicResample = avcodec_alloc_frame();
-+ m_PicDecoded = av_frame_alloc();
-+ m_PicResample = av_frame_alloc();
- m_BufferResample = new unsigned char[400 * 300 * 4]; // size for RGBA32
- #ifndef USE_SWSCALE
- m_PicConvert = avcodec_alloc_frame();
-@@ -99,7 +99,7 @@
- AVPicture pic_crop;
- struct SwsContext * context;
-
-- av_picture_crop(&pic_crop, (AVPicture *) m_PicDecoded, PIX_FMT_YUV420P, OsdPipSetup.CropTop, OsdPipSetup.CropLeft);
-+ av_picture_crop(&pic_crop, (AVPicture *) m_PicDecoded, AV_PIX_FMT_YUV420P, OsdPipSetup.CropTop, OsdPipSetup.CropLeft);
- #ifdef FF_API_SWS_GETCONTEXT
- if (!(context = sws_alloc_context())) {
- printf("Error initializing scale context.\n");
-@@ -126,9 +126,9 @@
- #else
- context = sws_getContext(m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight),
- m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom),
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- #ifdef USE_NEW_FFMPEG_HEADERS
-- m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P,
-+ m_Width, m_Height, ConvertToRGB ? AV_PIX_FMT_RGB32 : AV_PIX_FMT_YUV420P,
- #else
- m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P,
- #endif
-@@ -140,7 +140,7 @@
- #endif
- avpicture_fill((AVPicture *) m_PicResample, m_BufferResample,
- #ifdef USE_NEW_FFMPEG_HEADERS
-- ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P,
-+ ConvertToRGB ? AV_PIX_FMT_RGB32 : AV_PIX_FMT_YUV420P,
- #else
- ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P,
- #endif
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-libav9 b/multimedia/vdr-plugin-osdpip/files/patch-libav9
deleted file mode 100644
index beeb4422d671..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-libav9
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -urN osdpip-0.1.2.old/decoder.c osdpip-0.1.2/decoder.c
---- decoder.c.orig 2013-06-17 21:01:31.795476861 +0200
-+++ decoder.c 2013-06-17 21:01:57.153475959 +0200
-@@ -34,8 +34,8 @@
- printf("codec not found\n");
- return -1;
- }
-- m_Context = avcodec_alloc_context();
-- if (avcodec_open(m_Context, m_Codec) < 0)
-+ m_Context = avcodec_alloc_context3(m_Codec);
-+ if (avcodec_open2(m_Context, m_Codec, NULL) < 0)
- {
- printf("could not open codec\n");
- return -1;
-@@ -106,17 +106,17 @@
- return -1;
- }
-
-- av_set_int(context, "srcw", m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight));
-- av_set_int(context, "srch", m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom));
-- av_set_int(context, "src_format", PIX_FMT_YUV420P);
-- av_set_int(context, "dstw", m_Width);
-- av_set_int(context, "dsth", m_Height);
-+ av_opt_set_int(context, "srcw", m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight), 0);
-+ av_opt_set_int(context, "srch", m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom), 0);
-+ av_opt_set_int(context, "src_format", PIX_FMT_YUV420P, 0);
-+ av_opt_set_int(context, "dstw", m_Width, 0);
-+ av_opt_set_int(context, "dsth", m_Height, 0);
- #ifdef USE_NEW_FFMPEG_HEADERS
-- av_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P);
-+ av_opt_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P, 0);
- #else
-- av_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P);
-+ av_opt_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P, 0);
- #endif
-- av_set_int(context, "sws_flags", SWS_LANCZOS);
-+ av_opt_set_int(context, "sws_flags", SWS_LANCZOS, 0);
-
- if (sws_init_context(context, NULL, NULL) < 0) {
- printf("Error initializing conversion context.\n");
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-osd.c b/multimedia/vdr-plugin-osdpip/files/patch-osd.c
deleted file mode 100644
index b523ade4f8c4..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-osd.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- osd.c.orig 2012-05-16 20:25:00 UTC
-+++ osd.c
-@@ -780,7 +780,7 @@ eOSState cOsdPipObject::ProcessKey(eKeys
- if (cControl::Control())
- {
- cControl::Control()->GetIndex(pos, end);
-- if (pPos == "")
-+ if (*pPos == '\0')
- {
- pPos = IndexToHMSF(pos);
- }
diff --git a/multimedia/vdr-plugin-osdpip/pkg-descr b/multimedia/vdr-plugin-osdpip/pkg-descr
deleted file mode 100644
index 24b6c4273a8f..000000000000
--- a/multimedia/vdr-plugin-osdpip/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Osdpip-plugin
-
-OSD Picture-in-Picture is a VDR PlugIn that displays the current channel
-in a small box on the screen (default upper right corner). You can switch
-up and down now, watching the progress of the previous channel in the box.
-Quality is not too good yet, and only I-Frames are displayed.
diff --git a/multimedia/vdr-plugin-osdpip/pkg-plist b/multimedia/vdr-plugin-osdpip/pkg-plist
deleted file mode 100644
index 8ca58eb5e03a..000000000000
--- a/multimedia/vdr-plugin-osdpip/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-lib/vdr/libvdr-osdpip.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-osdpip.mo
diff --git a/multimedia/vdr-plugin-osdteletext/Makefile b/multimedia/vdr-plugin-osdteletext/Makefile
deleted file mode 100644
index 1b9cf6f5d630..000000000000
--- a/multimedia/vdr-plugin-osdteletext/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-PORTNAME= vdr-plugin-osdteletext
-PORTVERSION= 0.9.2
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/899/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - OSD teletext plugin
-WWW= https://projects.vdr-developer.org/projects/plg-osdteletext
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}/var/cache/vdr/vtx
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-osdteletext/distinfo b/multimedia/vdr-plugin-osdteletext/distinfo
deleted file mode 100644
index c93c440c17ad..000000000000
--- a/multimedia/vdr-plugin-osdteletext/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-osdteletext-0.9.2.tgz) = d6c7eee8dc81d0e9499250b3f6540603d8d290d9a1ecbaa4d19092f606662bac
-SIZE (vdr/vdr-osdteletext-0.9.2.tgz) = 60028
diff --git a/multimedia/vdr-plugin-osdteletext/files/patch-Makefile b/multimedia/vdr-plugin-osdteletext/files/patch-Makefile
deleted file mode 100644
index 211175d7efb0..000000000000
--- a/multimedia/vdr-plugin-osdteletext/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- osdteletext-0.8.3/Makefile.orig
-+++ osdteletext-0.8.3/Makefile
-@@ -113,5 +113,8 @@ clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
- install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+
-+install-readme:
- @install -d ../../man
- @install README ../../man/$(PLUGIN).man
diff --git a/multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt b/multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt
deleted file mode 100644
index 33c6f5889ed9..000000000000
--- a/multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/txtrecv.c b/txtrecv.c
-index 3dc89f6..3de5c1d 100644
---- a/txtrecv.c
-+++ b/txtrecv.c
-@@ -518,7 +518,7 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber
- int TPid = newLiveChannel->Tpid();
-
- if (TPid) {
-- receiver = new cTxtReceiver(TPid, newLiveChannel->GetChannelID(), storeTopText, storage);
-+ receiver = new cTxtReceiver(newLiveChannel, storeTopText, storage);
- cDevice::ActualDevice()->AttachReceiver(receiver);
- }
-
-@@ -526,10 +526,18 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber
- }
-
-
--cTxtReceiver::cTxtReceiver(int TPid, tChannelID chan, bool storeTopText, Storage* storage)
-- : cReceiver(chan, -1, TPid), cThread("osdteletext-receiver"),
-+cTxtReceiver::cTxtReceiver(const cChannel* chan, bool storeTopText, Storage* storage)
-+#if APIVERSNUM >= 10712
-+ : cReceiver(chan, -1), cThread("osdteletext-receiver"),
-+#else
-+ : cReceiver(chan, -1, chan->Tpid()), cThread("osdteletext-receiver"),
-+#endif
- TxtPage(0), storeTopText(storeTopText), buffer((188+60)*75), storage(storage)
- {
-+#if APIVERSNUM >= 10712
-+ SetPids(NULL);
-+ AddPid(chan->Tpid());
-+#endif
- storage->prepareDirectory(ChannelID());
-
- // 10 ms timeout on getting TS frames
-diff --git a/txtrecv.h b/txtrecv.h
-index a111d0d..3468b6e 100644
---- a/txtrecv.h
-+++ b/txtrecv.h
-@@ -165,7 +165,7 @@ protected:
- virtual void Receive(uchar *Data, int Length);
- virtual void Action();
- public:
-- cTxtReceiver(int TPid, tChannelID chan, bool storeTopText, Storage* storage);
-+ cTxtReceiver(const cChannel* chan, bool storeTopText, Storage* storage);
- virtual ~cTxtReceiver();
- virtual void Stop();
- };
diff --git a/multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2 b/multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2
deleted file mode 100644
index 8db6a0967a04..000000000000
--- a/multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2
+++ /dev/null
@@ -1,29 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -98,7 +98,11 @@ all: libvdr-$(PLUGIN).so i18n
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-diff -ur orig/osdteletext-0.8.3/txtrecv.c osdteletext-0.8.3/txtrecv.c
---- orig/osdteletext-0.8.3/txtrecv.c 2009-05-25 20:28:59.000000000 +0200
-+++ osdteletext-0.8.3/txtrecv.c 2010-03-16 17:29:53.000000000 +0100
-@@ -22,7 +22,11 @@
- #include <pthread.h>
- #include <signal.h>
- #include <errno.h>
-+#ifdef __FreeBSD__
-+#include <sys/mount.h>
-+#else
- #include <sys/vfs.h>
-+#endif
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
diff --git a/multimedia/vdr-plugin-osdteletext/pkg-descr b/multimedia/vdr-plugin-osdteletext/pkg-descr
deleted file mode 100644
index a56904e48c7b..000000000000
--- a/multimedia/vdr-plugin-osdteletext/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Osdteletext-plugin
-
-Osd-Teletext displays the teletext directly on VDR's OSD.
-Both sound and video are played in the background.
diff --git a/multimedia/vdr-plugin-osdteletext/pkg-plist b/multimedia/vdr-plugin-osdteletext/pkg-plist
deleted file mode 100644
index 621ab650d194..000000000000
--- a/multimedia/vdr-plugin-osdteletext/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-lib/vdr/libvdr-osdteletext.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-osdteletext.mo
-@dir(%%VDR_USER%%,%%VDR_GROUP%%,) /var/cache/vdr/vtx
-@dir /var/cache/vdr
diff --git a/multimedia/vdr-plugin-reelchannelscan/Makefile b/multimedia/vdr-plugin-reelchannelscan/Makefile
deleted file mode 100644
index a994bbb0b37c..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-PORTNAME= vdr-plugin-reelchannelscan
-PORTVERSION= 0.6.1b1.7.15
-PORTREVISION= 13
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/nox \
- http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu/pool/main/v/vdr-plugin-reelchannelscan/
-DISTFILES= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/b/+beta/}${DISTVERSIONSUFFIX}.orig${EXTRACT_SUFX} \
- ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/b/+beta/}${DISTVERSIONSUFFIX}-27yavdr1.debian${EXTRACT_SUFX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - Reelchannelscan plugin
-WWW= http://www.reel-multimedia.com
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION:S/b1.7.15//}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/transponders
- ${INSTALL_DATA} ${WRKDIR}/debian/transponders/*.tpl \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/transponders
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-reelchannelscan/distinfo b/multimedia/vdr-plugin-reelchannelscan/distinfo
deleted file mode 100644
index 1ab9e78a3886..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15.orig.tar.gz) = 680a71e35674e3dd9408cec75edf2307e83fdf4615a9fdeabae4827087264da5
-SIZE (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15.orig.tar.gz) = 82747
-SHA256 (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15-27yavdr1.debian.tar.gz) = 881c928fa4aac4fe696a884210da52c3ab598f75d09564953565025322753e40
-SIZE (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15-27yavdr1.debian.tar.gz) = 11972
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile b/multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile
deleted file mode 100644
index e39e774839dc..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -141,3 +141,5 @@ clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c
deleted file mode 100644
index 89362e6fc64d..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c
+++ /dev/null
@@ -1,66 +0,0 @@
---- a/channelscan.c
-+++ b/channelscan.c
-@@ -37,6 +37,11 @@
- eAutoScanStat
- cPluginChannelscan::AutoScanStat = AssNone;
-
-+#if APIVERSNUM > 10723
-+cStringList
-+ cPluginChannelscan::Nodes;
-+#endif
-+
- cScanSetup ScanSetup;
- bool OnlyChannelList=false;
-
-@@ -117,11 +122,51 @@ cPluginChannelscan::Initialize(void)
- return true;
- }
-
-+#if APIVERSNUM > 10723
-+bool
-+cPluginChannelscan::GetAdapterFrontend(int CardIndex, int &Adapter, int &Frontend) {
-+ Adapter = Frontend = -1;
-+ if (CardIndex < 0)
-+ return false;
-+ if (CardIndex < Nodes.Size() &&
-+ 2 == sscanf(Nodes[CardIndex], "%d %d", &Adapter, &Frontend)) {
-+ return true;
-+ }
-+ return false;
-+}
-+#endif
-+
- bool
- cPluginChannelscan::Start(void)
- {
- // Start any background activities the plugin shall perform.
-+#if (APIVERSNUM < 10507)
- RegisterI18n(Phrases);
-+#endif
-+#if APIVERSNUM > 10723
-+ cReadDir DvbDir(DEV_DVB_BASE);
-+ if (DvbDir.Ok()) {
-+ struct dirent *a;
-+ while ((a = DvbDir.Next()) != NULL) {
-+ if (strstr(a->d_name, DEV_DVB_ADAPTER) == a->d_name) {
-+ int Adapter = strtol(a->d_name + strlen(DEV_DVB_ADAPTER), NULL, 10);
-+ cReadDir AdapterDir(AddDirectory(DEV_DVB_BASE, a->d_name));
-+ if (AdapterDir.Ok()) {
-+ struct dirent *f;
-+ while ((f = AdapterDir.Next()) != NULL) {
-+ if (strstr(f->d_name, DEV_DVB_FRONTEND) == f->d_name) {
-+ int Frontend = strtol(f->d_name + strlen(DEV_DVB_FRONTEND), NULL, 10);
-+ Nodes.Append(strdup(cString::sprintf("%2d %2d", Adapter, Frontend)));
-+ }
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ if (Nodes.Size() > 0)
-+ Nodes.Sort();
-+#endif
- return true;
- }
-
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h b/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h
deleted file mode 100644
index 922dd1b4a740..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/channelscan.h
-+++ b/channelscan.h
-@@ -68,6 +68,9 @@ class cPluginChannelscan:public cPlugin
- {
- private:
- // Add any member variables or functions you may need here.
-+#if APIVERSNUM > 10723
-+ static cStringList Nodes;
-+#endif
- public:
- cPluginChannelscan();
- virtual ~ cPluginChannelscan();
-@@ -102,6 +105,9 @@ class cPluginChannelscan:public cPlugin
- static eAutoScanStat AutoScanStat;
- ChannelScanData channelData_;
- bool channelDataPresent_;
-+#if APIVERSNUM > 10723
-+ static bool GetAdapterFrontend(int CardIndex, int &Adapter, int &Frontend);
-+#endif
- };
-
- // --- cSetupMenu ------------------------------------------------------
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c
deleted file mode 100644
index 5a1f4208b3de..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/csmenu.c
-+++ b/csmenu.c
-@@ -378,8 +378,12 @@ void cMenuChannelscan::Set()
-
- // avoid C/T-positions for SAT
- // and take Astra as start position
-- if (srcTypes[currentTuner] >= SAT && (source == cSource::FromString("C") || source == cSource::FromString("T"))) {
-- source = cSource::FromString("S19.2E");
-+ if (srcTypes[currentTuner] >= SAT && (source == cSource::FromString("C") || source == cSource::FromString("T") || !Sources.Get(source))) {
-+ cDiseqc *d = Diseqcs.First();
-+ if (Setup.DiSEqC > 0 && d)
-+ source = d->Source();
-+ else
-+ source = cSource::FromString("S19.2E");
- }
-
- Add(new cMenuEditStraItem(tr("Search Mode"), &scanMode, 2, searchTexts));
-@@ -1209,7 +1213,7 @@ eOSState cMyMenuEditSrcItem::ProcessKey(
- {
- if (NORMALKEY(Key) == kLeft) // TODO might want to increase the delta if repeated quickly?
- {
-- if(cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli")) {
-+ if(cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli") && Setup.DiSEqC > 0) {
- source = oldSrc;
- while(!found && source && (source->Code() & cSource::stSat)) {
- for (cDiseqc *p = Diseqcs.First(); p && !found; p = Diseqcs.Next(p)) {
-@@ -1231,7 +1235,7 @@ eOSState cMyMenuEditSrcItem::ProcessKey(
- }
- }
- } else if (NORMALKEY(Key) == kRight) {
-- if (cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli")) {
-+ if (cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli") && Setup.DiSEqC > 0) {
- source = oldSrc;
- while(!found && source && (source->Code() & cSource::stSat)) {
- for (cDiseqc *p = Diseqcs.First(); p && !found; p = Diseqcs.Next(p)) {
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18 b/multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18
deleted file mode 100644
index 34a688bd3db9..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/csmenu.c
-+++ b/csmenu.c
-@@ -243,7 +243,7 @@ void cMenuChannelscan::TunerDetection()
- txtstream << tr("DVB-C - Cable") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')';
- stp = CABLE;
- } else if (device->ProvidesSource(cSource::stSat)) {
-- if (device->NumProvidedSystems() == 2) {
-+ if (device->NumProvidedSystems() == 3) {
- // if(TunerIsRotor(tuner))
- // txtstream << tr("DVB-S2 - Rotor") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')';
- // else
---- a/scan.c
-+++ b/scan.c
-@@ -421,7 +421,7 @@ void cScan::ScanNitServices()
- void cScan::ScanDVB_S(cTransponder * tp, cChannel * c)
- {
- //const time_t tt = time(NULL);
-- int maxmods = device->NumProvidedSystems() == 2? 4 : 2;
-+ int maxmods = device->NumProvidedSystems() == 3? 4 : 2;
-
- // esyslog("%s cTransponder* tp = %x cChannel *c = %x", __PRETTY_FUNCTION__);
- esyslog("maxmods = %d",maxmods);
-@@ -431,7 +431,7 @@ void cScan::ScanDVB_S(cTransponder * tp,
- ;
-
- // skip HD Transonders on SD Tuner
-- if ( !device->NumProvidedSystems() == 2 && static_cast < cSatTransponder * >(tp)->System() == 1)
-+ if ( !device->NumProvidedSystems() == 3 && static_cast < cSatTransponder * >(tp)->System() == 1)
- return;
-
- unsigned int nRadio = radioChannelNames.size();
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c
deleted file mode 100644
index 12fdad0b08ce..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/i18n.c
-+++ b/i18n.c
-@@ -23,8 +23,10 @@
- *
- ***************************************************************************/
-
-+#include <vdr/config.h>
- #include "i18n.h"
-
-+#if (APIVERSNUM < 10507)
- const tI18nPhrase Phrases[] = {
- {"Channel Scan",
- "Kanalsuche",
-@@ -1881,3 +1883,4 @@ const tI18nPhrase Phrases[] = {
- },
- {NULL}
- };
-+#endif
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h b/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h
deleted file mode 100644
index 1ba299337cbf..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- i18n.h.orig
-+++ i18n.h
-@@ -29,6 +29,8 @@
- #include <vdr/i18n.h>
- #include <vdr/config.h>
-
-+#if (APIVERSNUM < 10507)
- extern const tI18nPhrase Phrases[];
-+#endif
-
- #endif //_I18N__H
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c
deleted file mode 100644
index 024cb81c40b9..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/scan.c
-+++ b/scan.c
-@@ -197,7 +197,17 @@ bool cScan::StartScanning(cScanParameter
-
- #ifndef DEVICE_ATTRIBUTES
- char buffer[265];
-- snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend0", cardnr);
-+#if APIVERSNUM > 10723
-+ int Adapter = -1, Frontend = -1;
-+ if (!cPluginChannelscan::GetAdapterFrontend(cDevice::GetDevice(cardnr)->CardIndex(), Adapter, Frontend)) {
-+ esyslog("GetAdapterFrontend() failed");
-+ cMenuChannelscan::scanState = ssDeviceFailure;
-+ return false;
-+ }
-+ snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend%d", Adapter, Frontend);
-+#else
-+ snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend0", cDevice::GetDevice(cardnr)->CardIndex());
-+#endif
-
- fd_frontend = open(buffer, O_RDONLY | O_NONBLOCK);
- if (fd_frontend <= 0) {
-@@ -932,12 +942,12 @@ void cScan::Action()
- char *strDate;
- asprintf(&strDate,"%s", asctime(localtime(&tt)));
- strDate[strlen(strDate)-1] = 0;
-- fprintf(fp,"\n\n%s tp=%4d, %6d(%d) TV:%4d Radio:%4d in %3d sec",strDate,i , frequency, !alreadyScanned, tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) );
-+ fprintf(fp,"\n\n%s tp=%4d, %6d(%d) TV:%4ld Radio:%4ld in %3d sec",strDate,i , frequency, !alreadyScanned, tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) );
- fclose(fp);
-
- fp = fopen("/tmp/tScan.log","a");
- //fprintf(fp,"\n\n%s tp=%4d, %6d/%2d/%5d TV:%4d Radio:%4d in %3dsec",strDate,i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) );
-- fprintf(fp,"\n\ntp=%4d, %6d/%2d/%5d TV:%4d Radio:%4d in %3dsec new:%3d",i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in),tvChannelNames.size()-ntv+ radioChannelNames.size()-nradio );
-+ fprintf(fp,"\n\ntp=%4d, %6d/%2d/%5d TV:%4ld Radio:%4ld in %3dsec new:%3ld",i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in),tvChannelNames.size()-ntv+ radioChannelNames.size()-nradio );
- fclose(fp);
-
- free(strDate);
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c
deleted file mode 100644
index 2ad28221fef0..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/transponders.c
-+++ b/transponders.c
-@@ -285,7 +285,7 @@ cTerrTransponder::cTerrTransponder(int C
- fec_h_ = FEC_AUTO;
- fec_l_ = FEC_AUTO;
- hierarchy_ = HIERARCHY_NONE;
-- modulation_ = FE_OFDM;
-+ modulation_ = QAM_AUTO;
- guard_ = GUARD_INTERVAL_AUTO;
- transmission_ = TRANSMISSION_MODE_AUTO;
- }
diff --git a/multimedia/vdr-plugin-reelchannelscan/pkg-descr b/multimedia/vdr-plugin-reelchannelscan/pkg-descr
deleted file mode 100644
index 3ceb97a77202..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Reelchannelscan-plugin
-
-This plugin reads the <vdr-conf-path>/sources.conf and
-parses the coresponding transponderlist (.tpl file),
-then it scans this sat and updates/appends all found channels to
-the current channel list.
diff --git a/multimedia/vdr-plugin-reelchannelscan/pkg-plist b/multimedia/vdr-plugin-reelchannelscan/pkg-plist
deleted file mode 100644
index 85066d482105..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/pkg-plist
+++ /dev/null
@@ -1,80 +0,0 @@
-lib/vdr/libvdr-reelchannelscan.so.%%APIVERSION%%
-etc/vdr/plugins/transponders/S0.8W.tpl
-etc/vdr/plugins/transponders/S10.0E.tpl
-etc/vdr/plugins/transponders/S100.5E.tpl
-etc/vdr/plugins/transponders/S105.5E.tpl
-etc/vdr/plugins/transponders/S108.0E.tpl
-etc/vdr/plugins/transponders/S12.5W.tpl
-etc/vdr/plugins/transponders/S13.0E.tpl
-etc/vdr/plugins/transponders/S14.0W.tpl
-etc/vdr/plugins/transponders/S140.0E.tpl
-etc/vdr/plugins/transponders/S15.0W.tpl
-etc/vdr/plugins/transponders/S16.0E.tpl
-etc/vdr/plugins/transponders/S18.0W.tpl
-etc/vdr/plugins/transponders/S19.2E.tpl
-etc/vdr/plugins/transponders/S21.6E.tpl
-etc/vdr/plugins/transponders/S22.0W.tpl
-etc/vdr/plugins/transponders/S23.5E.tpl
-etc/vdr/plugins/transponders/S24.5W.tpl
-etc/vdr/plugins/transponders/S25.5E.tpl
-etc/vdr/plugins/transponders/S26.0E.tpl
-etc/vdr/plugins/transponders/S27.5W.tpl
-etc/vdr/plugins/transponders/S28.2E.tpl
-etc/vdr/plugins/transponders/S30.0W.tpl
-etc/vdr/plugins/transponders/S32.9E.tpl
-etc/vdr/plugins/transponders/S33.0E.tpl
-etc/vdr/plugins/transponders/S35.9E.tpl
-etc/vdr/plugins/transponders/S36.0E.tpl
-etc/vdr/plugins/transponders/S39.0E.tpl
-etc/vdr/plugins/transponders/S4.0W.tpl
-etc/vdr/plugins/transponders/S4.8E.tpl
-etc/vdr/plugins/transponders/S40.0E.tpl
-etc/vdr/plugins/transponders/S41.9E.tpl
-etc/vdr/plugins/transponders/S42.0E.tpl
-etc/vdr/plugins/transponders/S45.0E.tpl
-etc/vdr/plugins/transponders/S5.0W.tpl
-etc/vdr/plugins/transponders/S53.0E.tpl
-etc/vdr/plugins/transponders/S56.0E.tpl
-etc/vdr/plugins/transponders/S57.0E.tpl
-etc/vdr/plugins/transponders/S60.0E.tpl
-etc/vdr/plugins/transponders/S62.0E.tpl
-etc/vdr/plugins/transponders/S66.0E.tpl
-etc/vdr/plugins/transponders/S68.5E.tpl
-etc/vdr/plugins/transponders/S7.0E.tpl
-etc/vdr/plugins/transponders/S7.0W.tpl
-etc/vdr/plugins/transponders/S70.5E.tpl
-etc/vdr/plugins/transponders/S72.0E.tpl
-etc/vdr/plugins/transponders/S75.0E.tpl
-etc/vdr/plugins/transponders/S76.5E.tpl
-etc/vdr/plugins/transponders/S78.5E.tpl
-etc/vdr/plugins/transponders/S8.0W.tpl
-etc/vdr/plugins/transponders/S80.0E.tpl
-etc/vdr/plugins/transponders/S83.0E.tpl
-etc/vdr/plugins/transponders/S88.0E.tpl
-etc/vdr/plugins/transponders/S9.0E.tpl
-etc/vdr/plugins/transponders/S90.0E.tpl
-etc/vdr/plugins/transponders/S91.5E.tpl
-etc/vdr/plugins/transponders/S93.5E.tpl
-etc/vdr/plugins/transponders/S95.0E.tpl
-etc/vdr/plugins/transponders/S96.5E.tpl
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-reelchannelscan.mo
diff --git a/multimedia/vdr-plugin-remote/Makefile b/multimedia/vdr-plugin-remote/Makefile
deleted file mode 100644
index 7d953dd18f62..000000000000
--- a/multimedia/vdr-plugin-remote/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-PORTNAME= vdr-plugin-remote
-PORTVERSION= 0.4.0
-PORTREVISION= 16
-CATEGORIES= multimedia
-MASTER_SITES= http://www.escape-edv.de/endriss/vdr/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - remote control plugin
-WWW= http://escape-edv.de/endriss/vdr/
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-remote/distinfo b/multimedia/vdr-plugin-remote/distinfo
deleted file mode 100644
index ade02509b0c9..000000000000
--- a/multimedia/vdr-plugin-remote/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-remote-0.4.0.tgz) = 402178a5ca34796621ec248fbc459c41d86e7ce7f226080b507aad3e054512bf
-SIZE (vdr/vdr-remote-0.4.0.tgz) = 28397
diff --git a/multimedia/vdr-plugin-remote/files/patch-Makefile b/multimedia/vdr-plugin-remote/files/patch-Makefile
deleted file mode 100644
index 45e0d87e4b88..000000000000
--- a/multimedia/vdr-plugin-remote/files/patch-Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -54,6 +54,12 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I
- DEFINES += -DREMOTE_FEATURE_LIRC
- DEFINES += -DREMOTE_FEATURE_TCPIP
-
-+ifeq ($(OSTYPE),FreeBSD)
-+DEFINES += -DREMOTE_FEATURE_UHID
-+else
-+DEFINES += -DREMOTE_FEATURE_DEVINPUT
-+endif
-+
- ### The object files (add further files here):
-
- OBJS = $(PLUGIN).o ttystatus.o
-@@ -81,9 +87,9 @@ $(DEPFILE): Makefile
-
- ### Internationalization (I18N):
-
--ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),)
-+#ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),)
- PODIR = po
- LOCALEDIR = $(VDRDIR)/locale
- I18Npo = $(wildcard $(PODIR)/*.po)
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
-@@ -104,10 +110,10 @@ i18n: $(I18Nmo)
- mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
- cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
- done
--else
--OBJS += i18n.o
--i18n: ;
--endif
-+#else
-+#OBJS += i18n.o
-+#i18n: ;
-+#endif
-
- ### Targets:
-
-@@ -126,3 +132,6 @@ dist: clean
- clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f *.o $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-remote/files/patch-uhid1 b/multimedia/vdr-plugin-remote/files/patch-uhid1
deleted file mode 100644
index b14f4fb36fbd..000000000000
--- a/multimedia/vdr-plugin-remote/files/patch-uhid1
+++ /dev/null
@@ -1,255 +0,0 @@
---- a/remote.c
-+++ a/remote.c
-@@ -15,7 +15,9 @@
- #include <sys/fcntl.h>
- #include <getopt.h>
- #include <termios.h>
-+#ifdef REMOTE_FEATURE_DEVINPUT
- #include <linux/input.h>
-+#endif
- #include "i18n.h"
- #include "remote.h"
- #ifdef REMOTE_FEATURE_TCPIP
-@@ -25,6 +27,9 @@
-
-
- #define NUMREMOTES 10 // maximum number of remote control devices
-+#ifdef REMOTE_FEATURE_UHID
-+#define UHID_DEFAULT_READSIZE 8 // default size of uhid reads
-+#endif
-
- #define AV7110_KEYMAP_DEVICE "/proc/av7110_ir"
- #if 0
-@@ -183,6 +188,7 @@ void cRemoteGeneric::Action(void)
- int identifyInputDevice(const int fh, char *name)
- // ---------------------------------------------------------------------------
- {
-+#ifdef REMOTE_FEATURE_DEVINPUT
- char description[256];
-
- // check name of input device
-@@ -196,11 +202,13 @@ int identifyInputDevice(const int fh, ch
-
- if (strstr(description, "DVB") || strstr(description, "dvb"))
- return 2;
-+#endif
-
- return 0;
- }
-
-
-+#ifdef REMOTE_FEATURE_DEVINPUT
- // ---------------------------------------------------------------------------
- bool cRemoteDevInput::loadKeymap(const char *devname, uint32_t options)
- // ---------------------------------------------------------------------------
-@@ -454,6 +462,68 @@ bool cRemoteDevInput::keyPressed(uint64_
- {
- return (code & 0xFFFF00000000ULL);
- }
-+#endif // REMOTE_FEATURE_DEVINPUT
-+
-+
-+/*****************************************************************************/
-+
-+
-+#ifdef REMOTE_FEATURE_UHID
-+// ---------------------------------------------------------------------------
-+cRemoteUhid::cRemoteUhid(const char *name, int f, char *d, int size)
-+ :cRemoteGeneric(name, f, d)
-+// ---------------------------------------------------------------------------
-+{
-+ Start();
-+
-+ readsize = size;
-+ repeatcode = 0;
-+ fcntl(f, F_SETFL, O_NONBLOCK);
-+}
-+
-+
-+// ---------------------------------------------------------------------------
-+bool cRemoteUhid::Initialize()
-+// ---------------------------------------------------------------------------
-+{
-+ return true;
-+}
-+
-+
-+// ---------------------------------------------------------------------------
-+uint64_t cRemoteUhid::getKey(void)
-+// ---------------------------------------------------------------------------
-+{
-+ int n;
-+ uint64_t code = 0;
-+
-+ // XXX handle short reads properly on big-endian
-+ n = read(fh, &code, readsize);
-+ if (n <= 0) {
-+ if (n < 0 && (errno == EAGAIN || errno == EINTR))
-+ code = repeatcode;
-+ else {
-+ code = INVALID_KEY;
-+ repeatcode = 0;
-+ }
-+ } else {
-+ repeatcode = code;
-+#if 1 //def PRINTFDEBUGGING
-+ printf("code %jx\n", code);
-+#endif
-+ }
-+
-+ return code;
-+}
-+
-+
-+// ---------------------------------------------------------------------------
-+bool cRemoteUhid::keyPressed(uint64_t code)
-+// ---------------------------------------------------------------------------
-+{
-+ return ((code & ~0xffULL) != 0LL);
-+}
-+#endif // REMOTE_FEATURE_UHID
-
-
- /*****************************************************************************/
-@@ -557,6 +627,9 @@ private:
- int devcnt;
- char devtyp[NUMREMOTES];
- char *devnam[NUMREMOTES];
-+#ifdef REMOTE_FEATURE_UHID
-+ int devsize[NUMREMOTES];
-+#endif
- int fh[NUMREMOTES];
- public:
- cPluginRemote(void);
-@@ -604,6 +677,10 @@ const char *cPluginRemote::CommandLineHe
- // ---------------------------------------------------------------------------
- {
- return " -i dev, --input=dev input device (/dev/input/... | autodetect)\n"
-+#ifdef REMOTE_FEATURE_UHID
-+ " -h dev, --uhid=dev uhid(4) device (/dev/uhidX)\n"
-+ " -s size, --uhidsize=size uhid device read size\n"
-+#endif
- #ifdef REMOTE_FEATURE_LIRC
- " -l dev, --lirc=dev lirc device (/dev/lircd)\n"
- #endif
-@@ -624,6 +701,10 @@ bool cPluginRemote::ProcessArgs(int argc
- {
- static struct option long_options[] =
- { { "input", required_argument, NULL, 'i' },
-+#ifdef REMOTE_FEATURE_UHID
-+ { "uhid", required_argument, NULL, 'h' },
-+ { "uhidsize", required_argument, NULL, 's' },
-+#endif
- { "lirc", required_argument, NULL, 'l' },
- { "port", required_argument, NULL, 'p' },
- { "tty", required_argument, NULL, 't' },
-@@ -631,11 +712,20 @@ bool cPluginRemote::ProcessArgs(int argc
- { NULL } };
- int c;
-
-+#ifndef REMOTE_FEATURE_UHID
- while ((c = getopt_long(argc, argv, "i:l:p:t:T:", long_options, NULL)) != -1)
-+#else
-+ while ((c = getopt_long(argc, argv, "i:h:s:l:p:t:T:", long_options, NULL)) != -1)
-+#endif
- {
-+#ifdef REMOTE_FEATURE_UHID
-+ int size;
-+#endif
-+
- switch (c)
- {
- case 'i':
-+ case 'h':
- case 'l':
- case 'p':
- case 't':
-@@ -647,8 +737,27 @@ bool cPluginRemote::ProcessArgs(int argc
- }
- devtyp[devcnt] = c;
- devnam[devcnt] = optarg;
-+#ifdef REMOTE_FEATURE_UHID
-+ devsize[devcnt] = UHID_DEFAULT_READSIZE;
-+#endif
- devcnt++;
- break;
-+#ifdef REMOTE_FEATURE_UHID
-+ case 's':
-+ if (!devcnt || devcnt > NUMREMOTES)
-+ {
-+ esyslog("%s: uhidsize must come after uhid device", Name());
-+ return false;
-+ }
-+ size = atoi(optarg);
-+ if (size <= 0 || size_t(size) > sizeof (int64_t))
-+ {
-+ esyslog("%s: bad uhidsize %s", Name(), optarg);
-+ return false;
-+ }
-+ devsize[devcnt] = size;
-+ break;
-+#endif
-
- default:
- esyslog("%s: invalid argument", Name());
-@@ -671,6 +780,7 @@ bool cPluginRemote::Start(void)
- RegisterI18n(remotePhrases);
- #endif
-
-+#ifdef REMOTE_FEATURE_DEVINPUT
- // no device specified by the user, set default
- if (devcnt == 0)
- {
-@@ -719,6 +829,7 @@ bool cPluginRemote::Start(void)
- if (devtyp[i] == 'i' && strcmp(devnam[i], "autodetect") == 0)
- devnam[i] = "/dev/input/ir";
- } // for i
-+#endif
-
- for (int i = 0; i < devcnt; i++)
- {
-@@ -769,9 +880,17 @@ bool cPluginRemote::Start(void)
-
- switch (devtyp[i])
- {
-+#ifdef REMOTE_FEATURE_DEVINPUT
- case 'i':
- new cRemoteDevInput(nam,fh[i],devnam[i]);
- break;
-+#endif
-+
-+#ifdef REMOTE_FEATURE_UHID
-+ case 'h':
-+ new cRemoteUhid(nam,fh[i],devnam[i],devsize[i]);
-+ break;
-+#endif
-
- #ifdef REMOTE_FEATURE_LIRC
- case 'l':
---- a/remote.h
-+++ a/remote.h
-@@ -82,6 +82,24 @@ public:
-
-
-
-+#ifdef REMOTE_FEATURE_UHID
-+/*****************************************************************************/
-+class cRemoteUhid : protected cRemoteGeneric
-+/*****************************************************************************/
-+{
-+private:
-+ uint64_t repeatcode;
-+ int readsize;
-+protected:
-+ virtual uint64_t getKey(void);
-+ virtual bool keyPressed(uint64_t code);
-+public:
-+ cRemoteUhid(const char *name, int f, char *d, int size);
-+ virtual bool Initialize(void);
-+};
-+#endif
-+
-+
- #ifdef REMOTE_FEATURE_LIRCOLD
- /*****************************************************************************/
- class cRemoteDevLirc : protected cRemoteGeneric
diff --git a/multimedia/vdr-plugin-remote/pkg-descr b/multimedia/vdr-plugin-remote/pkg-descr
deleted file mode 100644
index 2987f40cce31..000000000000
--- a/multimedia/vdr-plugin-remote/pkg-descr
+++ /dev/null
@@ -1,62 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Remote-plugin
-
-This plugin extends the remote control capabilities of vdr.
-The following remote control devices are supported:
-
-(a) Linux input device driver ('/dev/input/eventX', X=0,1,2,...)
- (currently not supported on FreeBSD)
-
-(b) keyboard (tty driver): /dev/console, /dev/ttyX
-
-(c) TCP connection (telnet)
-
-(d) LIRC
-
-(e) some(?) FreeBSD uhid(4) devices (experimental support added by this port)
- To use, add something like this to vdr_flags: '-Premote -h /dev/uhid0',
- (re)start vdr, then the osd should ask you to configure the
- remote by pressing the buttons you want to assign.
-
- Note: If your remote is detected as a keyboard you'll have to
- tell ukbd(4) to ignore it first by doing (as root) something like:
-
- usbconfig add_dev_quirk_vplh 0x1241 0xe000 0 0xffff UQ_KBD_IGNORE
-
- (and possibly unplug it for a moment or reset it via usbconfig,
- 0x1241 there is the vendor id, 0xe000 the product id of the
- device, you can get yours by doing
-
- usbconfig -d 1.2 dump_device_desc
-
- and looking for idVendor and idProduct, -d 1.2 there corresponds
- to ugen1.2 listed by usbconfig w/o args.)
-
- You can check with:
-
- usbconfig show_ifdrv
-
- if the device is then listed as ugen...: uhid... you're good to go.
-
- 2nd note: If vdr cannot open your uhid device check it is not claimed
- by xorg:
-
- fstat |grep uhid
-
- If it is you may need an xorg.conf(5) with manually defined
- InputDevice sections for mouse and keyboard and
-
- Option "AutoAddDevices" "False"
-
- in the ServerFlags section.
-
- And if for some reason you want to reassign the buttons on the
- remote you can stop vdr and do:
-
- touch /usr/local/etc/vdr/channels.conf
-
- and/or remove uhid entries from
-
- /usr/local/etc/vdr/remote.conf .
-
- When you then start vdr again it should ask to configure the
- remote again.
diff --git a/multimedia/vdr-plugin-remote/pkg-plist b/multimedia/vdr-plugin-remote/pkg-plist
deleted file mode 100644
index 93c52c2d9e9c..000000000000
--- a/multimedia/vdr-plugin-remote/pkg-plist
+++ /dev/null
@@ -1,7 +0,0 @@
-lib/vdr/libvdr-remote.so.%%APIVERSION%%
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-remote.mo
diff --git a/multimedia/vdr-plugin-skinenigmang/Makefile b/multimedia/vdr-plugin-skinenigmang/Makefile
deleted file mode 100644
index 90d14079c6f3..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-PORTNAME= vdr-plugin-skinenigmang
-PORTVERSION= 0.1.2s20120606
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://andreas.vdr-developer.org/enigmang/download/:release \
- LOCAL/nox:snapshot
-DISTNAME= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-DISTFILES= ${DISTNAME}.tar.bz2:snapshot \
- skinenigmang-logos-xpm-hi-20070702.tgz:release
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - Enigma-NG skin plugin
-WWW= http://andreas.vdr-developer.org/enigmang/index.html
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= pkgconfig
-
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PORTNAME}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-BINARY_ALIAS= freetype-config=true
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- ${REINPLACE_CMD} 's|freetype-config |pkg-config freetype2 |g' \
- ${WRKSRC}/Makefile
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- (cd ${WRKDIR}/${PLUGIN} && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN} )
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-skinenigmang/distinfo b/multimedia/vdr-plugin-skinenigmang/distinfo
deleted file mode 100644
index c89bc8c36400..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (vdr/vdr-plugin-skinenigmang-0.1.2s20120606.tar.bz2) = 2de64f81947ae245888dd19055ebcd7a79521356a7e8d81d81b466fba05f25bb
-SIZE (vdr/vdr-plugin-skinenigmang-0.1.2s20120606.tar.bz2) = 78215
-SHA256 (vdr/skinenigmang-logos-xpm-hi-20070702.tgz) = 3428569d284db2fb1e57fe2683a818be489311d0b0ca3d4d172d34638fa61eaf
-SIZE (vdr/skinenigmang-logos-xpm-hi-20070702.tgz) = 49245
diff --git a/multimedia/vdr-plugin-skinenigmang/files/patch-Makefile b/multimedia/vdr-plugin-skinenigmang/files/patch-Makefile
deleted file mode 100644
index dd5c05629b8d..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- skinenigmang-0.1.1/Makefile.orig
-+++ skinenigmang-0.1.1/Makefile
-@@ -206,3 +210,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1 b/multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1
deleted file mode 100644
index 681d30099f68..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -ur orig/skinenigmang-0.1.1/Makefile skinenigmang-0.1.1/Makefile
---- orig/skinenigmang-0.1.1/Makefile 2010-03-13 16:33:20.000000000 +0100
-+++ skinenigmang-0.1.1/Makefile 2010-04-07 13:38:45.000000000 +0200
-@@ -16,15 +16,15 @@
-
- # If you are using the epgsearch plugin and want to see the number of
- # timer conflicts in the main menu's info area.
--SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1
-+#SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1
-
- # If you use the mailbox plugin this will include support for it.
--SKINENIGMA_USE_PLUGIN_MAILBOX = 1
-+#SKINENIGMA_USE_PLUGIN_MAILBOX = 1
-
- # Include code to support the Avards plugin:
- # - Dynamic OSD size depending on current WSS mode.
- # - Display current WSS mode in channel info and replay OSDs.
--SKINENIGMA_USE_PLUGIN_AVARDS = 1
-+#SKINENIGMA_USE_PLUGIN_AVARDS = 1
-
- # Disable code to show signal strength and signal-to-noise ratio
- # in channel info OSD.
-@@ -32,7 +32,7 @@
-
- # Strip debug symbols? Set eg. to /bin/true if not
- #STRIP = strip
--STRIP = /bin/true
-+STRIP = /usr/bin/true
-
- # The official name of this plugin.
- # This name will be used in the '-P...' option of VDR to load the plugin.
-@@ -191,7 +191,11 @@
- ifndef SKINENIGMA_DEBUG
- @$(STRIP) $@
- endif
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-diff -ur orig/skinenigmang-0.1.1/enigma.c skinenigmang-0.1.1/enigma.c
---- orig/skinenigmang-0.1.1/enigma.c 2010-04-05 10:33:42.000000000 +0200
-+++ skinenigmang-0.1.1/enigma.c 2010-04-07 13:38:07.000000000 +0200
-@@ -256,6 +256,18 @@
- #define ScrollbarHeight 20
- #define ScrollbarWidth 16
-
-+#if defined(__FreeBSD__) && __FreeBSD_version < 1000029
-+/* XXX Implement strchrnul for FreeBSD. */
-+static char *
-+strchrnul (const char *s, int c_in)
-+{
-+ char c = c_in;
-+ while (*s && (*s != c))
-+ s++;
-+
-+ return (char *) s;
-+}
-+#endif
-
- // --- cSkinEnigmaDisplayChannel --------------------------------------------
-
diff --git a/multimedia/vdr-plugin-skinenigmang/pkg-descr b/multimedia/vdr-plugin-skinenigmang/pkg-descr
deleted file mode 100644
index c83791202164..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Skinenigmang-plugin
-
-"EnigmaNG" is a standalone VDR OSD skin based on the "Enigma" text2skin
-addon.
diff --git a/multimedia/vdr-plugin-skinenigmang/pkg-plist b/multimedia/vdr-plugin-skinenigmang/pkg-plist
deleted file mode 100644
index b7ae1ae85c7b..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/pkg-plist
+++ /dev/null
@@ -1,126 +0,0 @@
-lib/vdr/libvdr-skinenigmang.so.%%APIVERSION%%
-etc/vdr/plugins/skinenigmang/HISTORY
-etc/vdr/plugins/skinenigmang/README
-etc/vdr/plugins/skinenigmang/flags/deu.xpm
-etc/vdr/plugins/skinenigmang/flags/eng.xpm
-etc/vdr/plugins/skinenigmang/flags/fra.xpm
-etc/vdr/plugins/skinenigmang/flags/dut.xpm
-etc/vdr/plugins/skinenigmang/flags/fraDD.xpm
-etc/vdr/plugins/skinenigmang/flags/dutDD.xpm
-etc/vdr/plugins/skinenigmang/flags/deuDD.xpm
-etc/vdr/plugins/skinenigmang/flags/engDD.xpm
-etc/vdr/plugins/skinenigmang/flags/dutDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/fraDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/engDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/dutMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/fraMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/engMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/deuMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/deuDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/ger.xpm
-etc/vdr/plugins/skinenigmang/icons/message/info.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward3.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/pause.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward4.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward5.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward6.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward7.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward8.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward9.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind3.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind4.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind5.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind6.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind7.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind8.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind9.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/play.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward3.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind3.xpm
-etc/vdr/plugins/skinenigmang/icons/audio/audioStereo.xpm
-etc/vdr/plugins/skinenigmang/icons/audio/audioRight.xpm
-etc/vdr/plugins/skinenigmang/icons/audio/audioLeft.xpm
-etc/vdr/plugins/skinenigmang/icons/volume/muteOff.xpm
-etc/vdr/plugins/skinenigmang/icons/volume/muteOn.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/audiorecorder.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/blank.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/burn.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/cancel.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/cdda.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/channels.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/channelscan.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/chanorg.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/commands.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/device.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/digicam.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/director.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/dvd.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/dvdselect.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/epgsearch.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/externalplayer.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/femon.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/filebrowser.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/fussball.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/games.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/image.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/mp3.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/mplayer.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/newsticker.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/osdpip.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/pin.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/radio.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/recordings.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/rotor.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/schedule.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/setup.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/solitaire.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/solitaire2.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/stop.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/streamdev.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/sudoku.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/summary.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/teletext.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/timers.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/tvonscreen.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdrc.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdrcd.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdrrip.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/weather.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/xineliboutput.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vcd.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/soccer.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/webepg.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdr.xpm
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-skinenigmang.mo
diff --git a/multimedia/vdr-plugin-sleeptimer/Makefile b/multimedia/vdr-plugin-sleeptimer/Makefile
deleted file mode 100644
index 6c254e5b0fea..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-PORTNAME= vdr-plugin-sleeptimer
-PORTVERSION= 0.8.2
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/652/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - sleep timer plugin
-WWW= https://projects.vdr-developer.org/projects/plg-sleeptimer
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-sleeptimer/distinfo b/multimedia/vdr-plugin-sleeptimer/distinfo
deleted file mode 100644
index 62b1707b9bee..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-plugin-sleeptimer-0.8.2.tgz) = 81e924bc0ea3587238cf2b090713076320aa3b8f5417561691e2a6ba543ff28c
-SIZE (vdr/vdr-plugin-sleeptimer-0.8.2.tgz) = 22483
diff --git a/multimedia/vdr-plugin-sleeptimer/files/patch-Makefile b/multimedia/vdr-plugin-sleeptimer/files/patch-Makefile
deleted file mode 100644
index 2c7d45c57184..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -110,3 +110,6 @@ dist: clean
- clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-sleeptimer/files/patch-i18.c b/multimedia/vdr-plugin-sleeptimer/files/patch-i18.c
deleted file mode 100644
index 1a759fb42398..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/files/patch-i18.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/i18n.c
-+++ b/i18n.c
-@@ -6,9 +6,10 @@
- * $Id: i18n.c 1.3 2002/06/23 13:05:59 kls Exp $
- */
-
--#include "i18n.h"
-+#include <vdr/config.h>
-
- #if VDRVERSNUM < 10507
-+#include "i18n.h"
-
- const tI18nPhrase Phrases[] = {
- { "Not active",// English
diff --git a/multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c b/multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c
deleted file mode 100644
index 8fd54eb97932..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sleeptimer.c
-+++ b/sleeptimer.c
-@@ -165,6 +165,8 @@ bool cPluginSleeptimer::ProcessArgs(int
- {
- // Implement command line argument processing here if applicable.
- int c;
-+ if (!strcmp(*argv, "sleeptimer"))
-+ ++argv, --argc;
- while((c = getopt(argc, argv, "e:")) != -1 ) {
- switch(c) {
- case 'e':
diff --git a/multimedia/vdr-plugin-sleeptimer/pkg-descr b/multimedia/vdr-plugin-sleeptimer/pkg-descr
deleted file mode 100644
index d710d72487e4..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Sleeptimer-plugin
-
-Shutdown vdr, mute or execute a custom command after a configurable
-timespan. User keys and keymacros.conf are supported.
diff --git a/multimedia/vdr-plugin-sleeptimer/pkg-plist b/multimedia/vdr-plugin-sleeptimer/pkg-plist
deleted file mode 100644
index 3e93224cecc5..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-lib/vdr/libvdr-sleeptimer.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-sleeptimer.mo
diff --git a/multimedia/vdr-plugin-streamdev/Makefile b/multimedia/vdr-plugin-streamdev/Makefile
deleted file mode 100644
index f7b0bf52b67a..000000000000
--- a/multimedia/vdr-plugin-streamdev/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-PORTNAME= vdr-plugin-streamdev
-PORTVERSION= 0.6.1
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/1580/:release \
- LOCAL/nox:snapshot
-DISTFILES= ${DISTNAME:S/plugin-//}${EXTRACT_SUFX}:release
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - stream device plugin
-WWW= http://streamdev.vdr-developer.org/
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-RUN_DEPENDS= bash:shells/bash
-
-USES= shebangfix tar:tgz
-SHEBANG_FILES= streamdev-server/externremux.sh
-MAKE_JOBS_UNSAFE= yes
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-VDR_PLUGIN_MAKEFILES=\
- ${WRKSRC}/client/Makefile \
- ${WRKSRC}/server/Makefile
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-pre-patch:
- @${CP} ${WRKSRC}/Makefile-1.7.33 ${WRKSRC}/Makefile
- @${CP} ${WRKSRC}/client/Makefile-1.7.33 ${WRKSRC}/client/Makefile
- @${CP} ${WRKSRC}/server/Makefile-1.7.33 ${WRKSRC}/server/Makefile
-
-post-patch: post-patch-plugin
- @${LN} -s ../locale ${WRKSRC}
- @${REINPLACE_CMD} '1s-^#!/bin/sh-#!${LOCALBASE}/bin/bash-' \
- ${WRKSRC}/${PLUGIN}-server/externremux.sh
-
-pre-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}-server
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}-server/externremux.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/externremux.sh.sample
- ${INSTALL_DATA} ${WRKSRC}/${PLUGIN}-server/streamdevhosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/streamdevhosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-streamdev/distinfo b/multimedia/vdr-plugin-streamdev/distinfo
deleted file mode 100644
index 77eb1639b772..000000000000
--- a/multimedia/vdr-plugin-streamdev/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-streamdev-0.6.1.tgz) = b3ea814a572eb17699df4ae2a90a1ad6c22c0a68a8235e7f7ccf299d1ed43955
-SIZE (vdr/vdr-streamdev-0.6.1.tgz) = 186546
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-Makefile b/multimedia/vdr-plugin-streamdev/files/patch-Makefile
deleted file mode 100644
index ebe57386cdc5..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -106,3 +106,7 @@ clean:
- $(MAKE) -C ./remux clean
- $(MAKE) -C ./client clean
- $(MAKE) -C ./server clean
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-client.so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-client.so.$(APIVERSION)
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-server.so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-server.so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-client-Makefile b/multimedia/vdr-plugin-streamdev/files/patch-client-Makefile
deleted file mode 100644
index 4e9baa3d57df..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-client-Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- client/Makefile.orig
-+++ client/Makefile
-@@ -70,7 +70,11 @@ libvdr-$(PLUGIN).so: $(CLIENTOBJS) $(COM
-
- %.so:
- $(CXX) $(CXXFLAGS) -shared $^ -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-client-setup.c b/multimedia/vdr-plugin-streamdev/files/patch-client-setup.c
deleted file mode 100644
index a7a9fbd496ed..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-client-setup.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- client/setup.c.orig
-+++ client/setup.c
-@@ -2,6 +2,7 @@
- * $Id: setup.c,v 1.2 2005/02/08 15:34:38 lordjaxom Exp $
- */
-
-+#include <stdint.h>
- #include <vdr/menuitems.h>
-
- #include "client/setup.h"
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-Makefile b/multimedia/vdr-plugin-streamdev/files/patch-server-Makefile
deleted file mode 100644
index 548423276816..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- server/Makefile.orig
-+++ server/Makefile
-@@ -76,7 +76,11 @@ libvdr-$(PLUGIN).so: $(SERVEROBJS) $(COM
-
- %.so:
- $(CXX) $(CXXFLAGS) -shared $^ -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- clean:
- @-rm -f $(COMMONOBJS) $(SERVEROBJS) $(DEPFILE) $(PODIR)/*.mo $(PODIR)/*.pot *.so *.tgz core* *~
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c b/multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c
deleted file mode 100644
index 74c7aa0ee5ca..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- server/componentIGMP.c.orig
-+++ server/componentIGMP.c
-@@ -1,9 +1,24 @@
- /*
- * $Id: componentIGMP.c,v 1.2 2009/07/03 21:44:19 schmirl Exp $
- */
-+#include <sys/types.h>
-+#include <netinet/in.h>
- #include <netinet/ip.h>
- #include <netinet/igmp.h>
--
-+
-+#ifndef IGMP_MEMBERSHIP_QUERY
-+#define IGMP_MEMBERSHIP_QUERY IGMP_HOST_MEMBERSHIP_QUERY
-+#endif
-+#ifndef IGMP_V1_MEMBERSHIP_REPORT
-+#define IGMP_V1_MEMBERSHIP_REPORT IGMP_v1_HOST_MEMBERSHIP_REPORT
-+#endif
-+#ifndef IGMP_V2_MEMBERSHIP_REPORT
-+#define IGMP_V2_MEMBERSHIP_REPORT IGMP_v2_HOST_MEMBERSHIP_REPORT
-+#endif
-+#ifndef IGMP_V2_LEAVE_GROUP
-+#define IGMP_V2_LEAVE_GROUP IGMP_HOST_LEAVE_MESSAGE
-+#endif
-+
- #include "server/componentIGMP.h"
- #include "server/connectionIGMP.h"
- #include "server/setup.h"
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c b/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c
deleted file mode 100644
index 393216aa4e1d..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- server/connectionVTP.c.orig
-+++ server/connectionVTP.c
-@@ -245,12 +245,14 @@ bool cLSTEHandler::Next(bool &Last)
- if (m_Event != NULL) {
- m_State = Title;
- #ifdef __FreeBSD__
-- return m_Client->Respond(-215, "E %u %d %d %X", m_Event->EventID(),
-+ return m_Client->Respond(-215, "E %u " PRId64 " %d %X", m_Event->EventID(),
-+ (int64_t)m_Event->StartTime(), m_Event->Duration(),
-+ m_Event->TableID());
- #else
- return m_Client->Respond(-215, "E %u %ld %d %X", m_Event->EventID(),
--#endif
- m_Event->StartTime(), m_Event->Duration(),
- m_Event->TableID());
-+#endif
- } else {
- m_State = EndChannel;
- return Next(Last);
-@@ -292,7 +294,7 @@ bool cLSTEHandler::Next(bool &Last)
- #endif /* PARENTALRATING */
- if (m_Event->Vps())
- #ifdef __FreeBSD__
-- return m_Client->Respond(-215, "V %d", m_Event->Vps());
-+ return m_Client->Respond(-215, "V " PRId64, (int64_t)m_Event->Vps());
- #else
- return m_Client->Respond(-215, "V %ld", m_Event->Vps());
- #endif
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c b/multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c
deleted file mode 100644
index 4dabd813f32e..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- server/recplayer.c.orig
-+++ server/recplayer.c
-@@ -199,8 +199,10 @@ unsigned long RecPlayer::getBlock(unsign
- fseek(file, filePosition, SEEK_SET);
- if (fread(&buffer[got], getFromThisSegment, 1, file) != 1) return 0; // umm, big problem.
-
-+#ifdef __linux__
- // Tell linux not to bother keeping the data in the FS cache
- posix_fadvise(fileno(file), filePosition, getFromThisSegment, POSIX_FADV_DONTNEED);
-+#endif
-
- got += getFromThisSegment;
- currentPosition += getFromThisSegment;
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-setup.c b/multimedia/vdr-plugin-streamdev/files/patch-server-setup.c
deleted file mode 100644
index 96c9a77bd016..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-setup.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- server/setup.c.orig
-+++ server/setup.c
-@@ -2,6 +2,7 @@
- * $Id: setup.c,v 1.2 2005/05/09 20:22:29 lordjaxom Exp $
- */
-
-+#include <stdint.h>
- #include <vdr/menuitems.h>
-
- #include "server/setup.h"
diff --git a/multimedia/vdr-plugin-streamdev/pkg-descr b/multimedia/vdr-plugin-streamdev/pkg-descr
deleted file mode 100644
index ab1314431213..000000000000
--- a/multimedia/vdr-plugin-streamdev/pkg-descr
+++ /dev/null
@@ -1,18 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Streamdev-plugin
-
-This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol)
-Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol.
-
-It consists of a server and a client part, but both parts are compiled together
-with the PlugIn source, but appear as separate PlugIns to VDR.
-
-The client part acts as a full Input Device, so it can be used in conjunction
-with a DXR3-Card, XINE, SoftDevice or others to act as a working VDR
-installation without any DVB-Hardware including EPG-Handling.
-
-The server part acts as a Receiver-Device and works transparently in the
-background within your running VDR. It can serve multiple clients and it can
-distribute multiple input streams (i.e. from multiple DVB-cards) to multiple
-clients using the native VTP protocol (for VDR-clients), or using the HTTP
-protocol supporting clients such as XINE, MPlayer and so on. With XMMS or
-WinAMP, you can also listen to radio channels over a HTTP connection.
diff --git a/multimedia/vdr-plugin-streamdev/pkg-plist b/multimedia/vdr-plugin-streamdev/pkg-plist
deleted file mode 100644
index 77ff52e5d5b8..000000000000
--- a/multimedia/vdr-plugin-streamdev/pkg-plist
+++ /dev/null
@@ -1,20 +0,0 @@
-lib/vdr/libvdr-streamdev-client.so.%%APIVERSION%%
-lib/vdr/libvdr-streamdev-server.so.%%APIVERSION%%
-@sample etc/vdr/plugins/streamdev-server/externremux.sh.sample
-@sample etc/vdr/plugins/streamdev-server/streamdevhosts.conf.sample
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-server.mo
diff --git a/multimedia/vdr-plugin-ttxtsubs/Makefile b/multimedia/vdr-plugin-ttxtsubs/Makefile
deleted file mode 100644
index e702d066ce84..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-PORTNAME= vdr-plugin-ttxtsubs
-PORTVERSION= 0.2.4
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/725/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - teletext subtitle plugin
-WWW= https://projects.vdr-developer.org/projects/plg-ttxtsubs
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-ttxtsubs/distinfo b/multimedia/vdr-plugin-ttxtsubs/distinfo
deleted file mode 100644
index 3d2c9ae90d7c..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-ttxtsubs-0.2.4.tar.gz) = 6d038f9f48ca6bb844934e15ab47d0aca8cbf650d24c5b31930802d0ac57f4ef
-SIZE (vdr/vdr-ttxtsubs-0.2.4.tar.gz) = 60378
diff --git a/multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile b/multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile
deleted file mode 100644
index b54f465bdcd1..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -101,7 +101,11 @@ all: libvdr-$(PLUGIN).so i18n
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -114,3 +118,6 @@ dist: $(I18Npo) clean
- clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c b/multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c
deleted file mode 100644
index 8f590491d631..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/ttxtsubschannelsettings.c
-+++ b/ttxtsubschannelsettings.c
-@@ -34,10 +34,19 @@ cTtxtSubsChannelSetting::cTtxtSubsChanne
- bool cTtxtSubsChannelSetting::Parse(const char *s)
- {
- bool result=false;
-+#ifdef __FreeBSD__
-+ char *buffer=MALLOC(char, 256);
-+#else
- char *buffer=NULL;
-+#endif
- int PageMode;
- int PageNumber;
-- if (3 == sscanf(s, "%a[^,],%d,%d\n", &buffer, &PageMode, &PageNumber)) {
-+#ifdef __FreeBSD__
-+ if (3 == sscanf(s, "%255[^,],%d,%d\n", buffer, &PageMode, &PageNumber))
-+#else
-+ if (3 == sscanf(s, "%a[^,],%d,%d\n", &buffer, &PageMode, &PageNumber))
-+#endif
-+ {
- tChannelID channelID=tChannelID::FromString(buffer);
- if (channelID.Valid()) {
- channelid=channelID;
diff --git a/multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.29 b/multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.29
deleted file mode 100644
index 011554752592..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.29
+++ /dev/null
@@ -1,25 +0,0 @@
---- ttxtsubs.c.orig
-+++ ttxtsubs.c
-@@ -136,7 +136,7 @@ public:
-
- // -- cStatus
- protected:
-- virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
-+ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
- virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On);
- // virtual void OsdClear(void) { ShowTtxt(); }
- // virtual void OsdTitle(const char *Title) { HideTtxt(); }
-@@ -333,10 +333,11 @@ bool cPluginTtxtsubs::SetupParse(const c
- return true;
- }
-
--void cPluginTtxtsubs::ChannelSwitch(const cDevice *Device, int ChannelNumber)
-+void cPluginTtxtsubs::ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
- {
- //dprint("cPluginTtxtsubs::ChannelSwitch(devicenr: %d, channelnr: %d) - mDispl: %x\n", Device->DeviceNumber(), ChannelNumber, mDispl); // XXX
-- if (Device->IsPrimaryDevice() && !Device->Replaying() && ChannelNumber)
-+ if (LiveView /*Device->IsPrimaryDevice()*/ &&
-+ !Device->Replaying() && ChannelNumber)
- {
- StopTtxt();
- DELETENULL(mLiveReceiver);
diff --git a/multimedia/vdr-plugin-ttxtsubs/pkg-descr b/multimedia/vdr-plugin-ttxtsubs/pkg-descr
deleted file mode 100644
index 03daaa51940e..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Ttxtsubs-plugin
-
-vdr-ttxtsubs - a teletext subtitle plugin for the Linux Video Disk Recorder
-
-This plug-in implements displaying, recording and replaying teletext
-based subtitles using the on screen display.
diff --git a/multimedia/vdr-plugin-ttxtsubs/pkg-plist b/multimedia/vdr-plugin-ttxtsubs/pkg-plist
deleted file mode 100644
index 797f748b0e2b..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/pkg-plist
+++ /dev/null
@@ -1,11 +0,0 @@
-lib/vdr/libvdr-ttxtsubs.so.%%APIVERSION%%
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-ttxtsubs.mo
diff --git a/multimedia/vdr-plugin-vdrmanager/Makefile b/multimedia/vdr-plugin-vdrmanager/Makefile
deleted file mode 100644
index 94f331ba8d5f..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-PORTNAME= vdr-plugin-vdrmanager
-PORTVERSION= 0.6
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/828/
-DISTNAME= ${PORTNAME:S/-plugin//}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - VDR-Manager server plugin
-WWW= https://projects.vdr-developer.org/projects/vdr-manager/wiki
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-PATCH_STRIP= -p1
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins
- ${INSTALL_DATA} ${WRKSRC}/examples/plugin.vdrmanager.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/plugin.vdrmanager.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-vdrmanager/distinfo b/multimedia/vdr-plugin-vdrmanager/distinfo
deleted file mode 100644
index 4ea790908c8f..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-vdrmanager-0.6.tar.gz) = 4298fa4d806a8de77a417ebd36750983822deb861dcc7c85f6038ebef45f5011
-SIZE (vdr/vdr-vdrmanager-0.6.tar.gz) = 33040
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-Makefile b/multimedia/vdr-plugin-vdrmanager/files/patch-Makefile
deleted file mode 100644
index 0eac21c279ab..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -80,3 +80,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp b/multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp
deleted file mode 100644
index 343d475b44e8..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/helpers.cpp
-+++ b/helpers.cpp
-@@ -4,7 +4,9 @@
-
- #include <time.h>
- #include <unistd.h>
-+#ifndef __FreeBSD__
- #include <values.h>
-+#endif
- #include <vdr/plugin.h>
- #include <vdr/timers.h>
- #include <vdr/recording.h>
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp b/multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp
deleted file mode 100644
index 81fb413f1502..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-From 333d83324710bbdef6f6feea38a9dadc3c01b959 Mon Sep 17 00:00:00 2001
-From: bju <bju@maxi.fritz.box>
-Date: Tue, 24 Jan 2012 23:06:34 +0100
-Subject: Close() has used socket (method pointer) and not sock (variable) to
- check if close() should be called.
-
---- a/sock.cpp.orig 2011-12-28 15:11:48 UTC
-+++ b/sock.cpp
-@@ -20,7 +20,7 @@ cVdrmanagerSocket::~cVdrmanagerSocket()
- }
-
- void cVdrmanagerSocket::Close() {
-- if (socket >= 0) {
-+ if (sock >= 0) {
- close(sock);
- sock = -1;
- }
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.h b/multimedia/vdr-plugin-vdrmanager/files/patch-sock.h
deleted file mode 100644
index 07ef5ff21465..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/sock.h
-+++ b/sock.h
-@@ -7,6 +7,9 @@
-
- #include <sys/types.h>
- #include <sys/socket.h>
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include <string>
-
- using namespace std;
diff --git a/multimedia/vdr-plugin-vdrmanager/pkg-descr b/multimedia/vdr-plugin-vdrmanager/pkg-descr
deleted file mode 100644
index cb1939163a12..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-This helper plugin allows remote programming VDR using
-VDR-Manager running on Android devices.
diff --git a/multimedia/vdr-plugin-vdrmanager/pkg-plist b/multimedia/vdr-plugin-vdrmanager/pkg-plist
deleted file mode 100644
index 6bc9d2f4b7a1..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/vdr/libvdr-vdrmanager.so.%%APIVERSION%%
-etc/vdr/plugins/plugin.vdrmanager.conf.sample
diff --git a/multimedia/vdr-plugin-vnsiserver/Makefile b/multimedia/vdr-plugin-vnsiserver/Makefile
deleted file mode 100644
index b096eac466fa..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-PORTNAME= vdr-plugin-vnsiserver
-PORTVERSION= 14.0.20150330
-PORTREVISION= 3
-CATEGORIES= multimedia
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - VNSI server plugin
-WWW= https://www.vdr-portal.de/board/thread.php?threadid=95292
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USE_GITHUB= yes
-GH_ACCOUNT= FernetMenta
-GH_TAGNAME= 36e2b61
-
-USES= pkgconfig
-PATCH_STRIP= -p1
-
-MAKE_ARGS= LIBDIR=${WRKDIR}/lib \
- LOCDIR=${PREFIX}/share/locale \
- VDRSRC=${LOCALBASE}/include/vdr \
- INCLUDES=-I${LOCALBASE}/include
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
- @${MKDIR} ${STAGEDIR}${PREFIX}/share/locale/de_DE/LC_MESSAGES \
- ${STAGEDIR}${PREFIX}/share/locale/lt_LT/LC_MESSAGES
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-vnsiserver/distinfo b/multimedia/vdr-plugin-vnsiserver/distinfo
deleted file mode 100644
index 49cd0cf68f92..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/FernetMenta-vdr-plugin-vnsiserver-14.0.20150330-36e2b61_GH0.tar.gz) = 439b568addbabbfab2efc218f0db1f65bf308716daeb682107a40ceda9d142af
-SIZE (vdr/FernetMenta-vdr-plugin-vnsiserver-14.0.20150330-36e2b61_GH0.tar.gz) = 82181
diff --git a/multimedia/vdr-plugin-vnsiserver/files/patch-Makefile b/multimedia/vdr-plugin-vnsiserver/files/patch-Makefile
deleted file mode 100644
index 9dfec422d9cc..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/files/patch-Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -134,7 +134,11 @@ $(I18Npot): $(wildcard *.c)
- @touch $@
-
- $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-+ifdef FREEBSD
-+ install -m644 $< $@
-+else
- install -D -m644 $< $@
-+endif
-
- .PHONY: i18n
- i18n: $(I18Nmo) $(I18Npot)
-@@ -147,7 +151,11 @@ $(SOFILE): $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-
- install-lib: $(SOFILE)
-+ifdef FREEBSD
-+ install $^ $(LIBDIR)/$^.$(APIVERSION)
-+else
- install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
-+endif
-
- install: install-lib install-i18n
-
-@@ -164,3 +164,6 @@ clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
- compile: $(SOFILE)
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-vnsiserver/pkg-descr b/multimedia/vdr-plugin-vnsiserver/pkg-descr
deleted file mode 100644
index 90e83e89f3fb..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Vnsi-server-plugin
-
-VDR-Network-Streaming-Interface plugin to be used with XMBC >= 12.0
-(Frodo) pvr.vdr.vnsi addon (now part of multimedia/xbmc-addon-pvr)
diff --git a/multimedia/vdr-plugin-vnsiserver/pkg-plist b/multimedia/vdr-plugin-vnsiserver/pkg-plist
deleted file mode 100644
index 0db7a0ac3164..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-lib/vdr/libvdr-vnsiserver.so.%%APIVERSION%%
-@sample etc/vdr/plugins/vnsiserver/allowed_hosts.conf.sample
-share/locale/de_DE/LC_MESSAGES/vdr-vnsiserver.mo
-share/locale/lt_LT/LC_MESSAGES/vdr-vnsiserver.mo
diff --git a/multimedia/vdr-plugin-wirbelscan/Makefile b/multimedia/vdr-plugin-wirbelscan/Makefile
deleted file mode 100644
index 585b675e5815..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-PORTNAME= vdr-plugin-wirbelscan
-PORTVERSION= 0.0.7
-PORTREVISION= 9
-CATEGORIES= multimedia
-MASTER_SITES= http://wirbel.htpc-forum.de/wirbelscan/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - wirbelscan plugin
-WWW= http://wirbel.htpc-forum.de/wirbelscan/index2.html
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-USES= dos2unix tar:tgz
-DOS2UNIX_FILES= scanner.c
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${REINPLACE_CMD} -f ${FILESDIR}/types.sed ${WRKSRC}/*.c ${WRKSRC}/*.h
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-wirbelscan/distinfo b/multimedia/vdr-plugin-wirbelscan/distinfo
deleted file mode 100644
index 650ef554bac1..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-wirbelscan-0.0.7.tgz) = 42ffc3da1efd2ec6e40e233e4750f9b19ba04aa6e887d9cac960b758e4371dd2
-SIZE (vdr/vdr-wirbelscan-0.0.7.tgz) = 149949
diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb b/multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb
deleted file mode 100644
index 3db92846ba08..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb
+++ /dev/null
@@ -1,51 +0,0 @@
-commit 64f969e39d18aefa263dc3a61172e33df33963fb
-Author: Stefan Saraev <stefan@saraev.ca>
-Date: Thu Mar 29 20:22:11 2012 +0300
-
- wirbelscan: receiver-api-fixes
-
-diff --git a/statemachine.c b/statemachine.c
-index 48a212e..bc0c8e5 100644
---- a/statemachine.c
-+++ b/statemachine.c
-@@ -36,12 +36,12 @@ protected:
- while (Running()) cCondWait::SleepMs(5);
- }; /*TODO: check here periodically for lock and wether we got any data!*/
- public:
-- cScanReceiver(tChannelID ChannelID, int AnyPid);
-+ cScanReceiver(const cChannel* chan, int AnyPid);
- virtual ~cScanReceiver() {cReceiver::Detach(); };
- };
-
--cScanReceiver::cScanReceiver(tChannelID ChannelID, int AnyPid) :
-- cReceiver(ChannelID, 99, AnyPid), cThread("dummy receiver") { }
-+cScanReceiver::cScanReceiver(const cChannel* chan, int AnyPid) :
-+ cReceiver(chan, 99), cThread("dummy receiver") { AddPid(AnyPid); }
-
- ///!-----------------------------------------------------------------
- ///! v 0.0.5, store state in lastState if different and print state
-@@ -144,7 +144,7 @@ void cStateMachine::Action(void) {
- ScannedTransponders.Add(ScannedTransponder);
-
- dev->SwitchChannel(Transponder, false);
-- aReceiver = new cScanReceiver(Transponder->GetChannelID(), 99);
-+ aReceiver = new cScanReceiver(Transponder, 99);
- dev->AttachReceiver(aReceiver);
-
- cCondWait::SleepMs(1000);
-diff --git a/ttext.c b/ttext.c
-index 0053936..0864484 100644
---- a/ttext.c
-+++ b/ttext.c
-@@ -374,9 +374,9 @@ void cSwReceiver::Action() {
- }
- }
-
--cSwReceiver::cSwReceiver(cChannel * Channel) : cReceiver(Channel->GetChannelID(),
-- 100, Channel->Tpid()), cThread("ttext") {
-+cSwReceiver::cSwReceiver(cChannel * Channel) : cReceiver(Channel, 100), cThread("ttext") {
-
-+ AddPid(Channel->Tpid());
- stopped = fuzzy = false;
- channel = Channel;
- buffer = new cRingBufferLinear(MEGABYTE(1),184);
diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-Makefile b/multimedia/vdr-plugin-wirbelscan/files/patch-Makefile
deleted file mode 100644
index 6529121a74e6..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -119,7 +119,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- perm:
- @chmod 644 *.{c,h,html} COPYING HISTORY README TODO Makefile po/* patches/*
-@@ -138,3 +142,6 @@ clean:
-
- clean_code: clean
- uncrustify -c ../../../../clean_code/config --replace --no-backup $(UNCRUSTIFY_FILES)
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c b/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c
deleted file mode 100644
index 5c6fa8443e94..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/scanner.c
-+++ b/scanner.c
-@@ -633,7 +633,7 @@ void cScanner::Action(void) {
- else
- continue;
- cCondWait::SleepMs(2000);
-- vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE || V4L2_CAP_SLICED_VBI_CAPTURE);
-+ vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE);
- if (vbiSupport)
- dlog(1, "device can capture vbi");
- }
diff --git a/multimedia/vdr-plugin-wirbelscan/files/types.sed b/multimedia/vdr-plugin-wirbelscan/files/types.sed
deleted file mode 100644
index 6230cb96b7a1..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/types.sed
+++ /dev/null
@@ -1,5 +0,0 @@
-/^#include <linux\/dvb\/frontend.h>/i\
-#include <stdint.h>
-s/^#include <linux\/types.h>/#include <stdint.h>/
-s/__u8/uint8_t/g
-s/__u32/uint32_t/g
diff --git a/multimedia/vdr-plugin-wirbelscan/pkg-descr b/multimedia/vdr-plugin-wirbelscan/pkg-descr
deleted file mode 100644
index 38aa5aa77dcf..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Wirbelscan-plugin
-
-This plugin performs a channel scans for digital terrestrial and digital
-cable TV and analog ivtv cards, satellite is also supported.
diff --git a/multimedia/vdr-plugin-wirbelscan/pkg-plist b/multimedia/vdr-plugin-wirbelscan/pkg-plist
deleted file mode 100644
index 6613e8296822..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-lib/vdr/libvdr-wirbelscan.so.%%APIVERSION%%
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-wirbelscan.mo
diff --git a/multimedia/vdr-plugin-xineliboutput/Makefile b/multimedia/vdr-plugin-xineliboutput/Makefile
deleted file mode 100644
index 0bea72955c15..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-PORTNAME= vdr-plugin-xineliboutput
-PORTVERSION= 1.0.90s20120511
-PORTREVISION= 34
-CATEGORIES= multimedia
-MASTER_SITES= SF/xineliboutput/files/xineliboutput/vdr-xineliboutput-${PORTVERSION}/:release \
- LOCAL/nox:snapshot
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - xineliboutput plugin/viewer
-WWW= https://sourceforge.net/projects/xineliboutput/
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \
- libdbus-glib-1.so:devel/dbus-glib \
- libvdpau.so:multimedia/libvdpau \
- libxine.so:multimedia/libxine
-
-USES= compiler:c++11-lang gl pkgconfig tar:bzip2 xorg
-USE_GL= gl glu glut
-USE_XORG= xrandr xrender
-
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --add-cflags=-I${VDRDIR} \
- --cc="${CC}" \
- --cxx="${CXX}"
-
-PATCH_STRIP= -p1
-
-WRKSRC= ${WRKDIR}/vdr-${PLUGIN}
-XINE_PLUGINSDIR= lib/xine/plugins/2.11
-
-PLIST_SUB= XINE_PLUGINSDIR=${XINE_PLUGINSDIR}
-PORTDOCS= HISTORY README
-PORTEXAMPLES= xine
-
-OPTIONS_DEFINE= DOCS EXAMPLES LIBBLURAY LIBEXTRACTOR NLS
-OPTIONS_SUB= yes
-
-LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
-LIBBLURAY_CONFIGURE_ENABLE= libbluray
-LIBEXTRACTOR_LIB_DEPENDS= libextractor.so:textproc/libextractor
-LIBEXTRACTOR_CONFIGURE_ENABLE= libextractor
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-# clang doesn't know -MG
- ${TOUCH} -t 200001010000 ${WRKSRC}/nosignal_720x576.c \
- ${WRKSRC}/black_720x576.c ${WRKSRC}/vdrlogo_720x576.c
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/examples/allowed_hosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/xine
- ${INSTALL_DATA} ${FILESDIR}/keymap ${STAGEDIR}${EXAMPLESDIR}/xine
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-xineliboutput/distinfo b/multimedia/vdr-plugin-xineliboutput/distinfo
deleted file mode 100644
index 6273cfed8d9c..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1532570045
-SHA256 (vdr/vdr-plugin-xineliboutput-1.0.90s20120511.tar.bz2) = 87d6903cb66e29452c2e0c380dcbe7eed2c5414281a8ebf9be7f7e12b2dd611f
-SIZE (vdr/vdr-plugin-xineliboutput-1.0.90s20120511.tar.bz2) = 372415
diff --git a/multimedia/vdr-plugin-xineliboutput/files/keymap b/multimedia/vdr-plugin-xineliboutput/files/keymap
deleted file mode 100644
index ff3c81759c85..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/keymap
+++ /dev/null
@@ -1,1203 +0,0 @@
-##
-# xine key bindings.
-# Automatically generated by xine-ui version 0.99.7.
-##
-
-# start playback
-Play {
- key = VOID
- modifier = none
-}
-
-# playback pause toggle
-Pause {
- key = space
- modifier = meta
-}
-
-# stop playback
-Stop {
- key = S
- modifier = meta
-}
-
-# close stream
-Close {
- key = C
- modifier = none
-}
-
-# take a snapshot
-Snapshot {
- key = t
- modifier = none
-}
-
-# eject the current medium
-Eject {
- key = E
- modifier = none
-}
-
-# select and play next MRL in the playlist
-NextMrl {
- key = Next
- modifier = control
-}
-
-# select and play previous MRL in the playlist
-PriorMrl {
- key = Prior
- modifier = control
-}
-
-# select and play MRL in the playlist
-SelectMrl {
- key = Select
- modifier = none
-}
-
-# loop mode toggle
-ToggleLoopMode {
- key = l
- modifier = none
-}
-
-# stop playback after played stream
-PlaylistStop {
- key = l
- modifier = control
-}
-
-# scan playlist to grab stream infos
-ScanPlaylistInfo {
- key = s
- modifier = control
-}
-
-# add a mediamark from current playback
-AddMediamark {
- key = a
- modifier = control
-}
-
-# edit selected mediamark
-MediamarkEditor {
- key = e
- modifier = control
-}
-
-# set position to -60 seconds in current stream
-SeekRelative-60 {
- key = VOID
- modifier = none
-}
-
-# set position to +60 seconds in current stream
-SeekRelative+60 {
- key = VOID
- modifier = none
-}
-
-# set position to -30 seconds in current stream
-SeekRelative-30 {
- key = VOID
- modifier = meta
-}
-
-# set position to +30 seconds in current stream
-SeekRelative+30 {
- key = VOID
- modifier = meta
-}
-
-# set position to -15 seconds in current stream
-SeekRelative-15 {
- key = VOID
- modifier = control
-}
-
-# set position to +15 seconds in current stream
-SeekRelative+15 {
- key = VOID
- modifier = control
-}
-
-# set position to -7 seconds in current stream
-SeekRelative-7 {
- key = VOID
- modifier = mod3
-}
-
-# set position to +7 seconds in current stream
-SeekRelative+7 {
- key = VOID
- modifier = mod3
-}
-
-# set position to beginning of current stream
-SetPosition0% {
- key = 0
- modifier = control
-}
-
-# set position to 10% of current stream
-SetPosition10% {
- key = 1
- modifier = control
-}
-
-# set position to 20% of current stream
-SetPosition20% {
- key = 2
- modifier = control
-}
-
-# set position to 30% of current stream
-SetPosition30% {
- key = 3
- modifier = control
-}
-
-# set position to 40% of current stream
-SetPosition40% {
- key = 4
- modifier = control
-}
-
-# set position to 50% of current stream
-SetPosition50% {
- key = 5
- modifier = control
-}
-
-# set position to 60% of current stream
-SetPosition60% {
- key = 6
- modifier = control
-}
-
-# set position to 70% of current stream
-SetPosition70% {
- key = 7
- modifier = control
-}
-
-# set position to 80% of current stream
-SetPosition80% {
- key = 8
- modifier = control
-}
-
-# set position to 90% of current stream
-SetPosition90% {
- key = 9
- modifier = control
-}
-
-# set position to 100% of current stream
-SetPosition100% {
- key = End
- modifier = control
-}
-
-# increment playback speed
-SpeedFaster {
- key = VOID
- modifier = none
-}
-
-# decrement playback speed
-SpeedSlower {
- key = VOID
- modifier = none
-}
-
-# reset playback speed
-SpeedReset {
- key = DOWN
- modifier = meta
-}
-
-# increment audio volume
-Volume+ {
- key = V
- modifier = meta
-}
-
-# decrement audio volume
-Volume- {
- key = v
- modifier = meta
-}
-
-# increment amplification level
-Amp+ {
- key = V
- modifier = control
-}
-
-# decrement amplification level
-Amp- {
- key = v
- modifier = control
-}
-
-# reset amplification to default value
-ResetAmp {
- key = A
- modifier = control
-}
-
-# audio muting toggle
-Mute {
- key = VOID
- modifier = control
-}
-
-# select next audio channel
-AudioChannelNext {
- key = plus
- modifier = none
-}
-
-# select previous audio channel
-AudioChannelPrior {
- key = minus
- modifier = none
-}
-
-# visibility toggle of audio post effect window
-APProcessShow {
- key = VOID
- modifier = none
-}
-
-# toggle post effect usage
-APProcessEnable {
- key = VOID
- modifier = none
-}
-
-# select next sub picture (subtitle) channel
-SpuNext {
- key = period
- modifier = none
-}
-
-# select previous sub picture (subtitle) channel
-SpuPrior {
- key = comma
- modifier = none
-}
-
-# interlaced mode toggle
-ToggleInterleave {
- key = I
- modifier = none
-}
-
-# cycle aspect ratio values
-ToggleAspectRatio {
- key = A
- modifier = none
-}
-
-# reduce the output window size by factor 1.2
-WindowReduce {
- key = less
- modifier = none
-}
-
-# enlarge the output window size by factor 1.2
-WindowEnlarge {
- key = greater
- modifier = none
-}
-
-# set video output window to 50%
-Window50 {
- key = 1
- modifier = meta
-}
-
-# set video output window to 100%
-Window100 {
- key = 2
- modifier = meta
-}
-
-# set video output window to 200%
-Window200 {
- key = 3
- modifier = meta
-}
-
-# zoom in
-ZoomIn {
- key = z
- modifier = none
-}
-
-# zoom out
-ZoomOut {
- key = Z
- modifier = none
-}
-
-# zoom in horizontally
-ZoomInX {
- key = z
- modifier = control
-}
-
-# zoom out horizontally
-ZoomOutX {
- key = Z
- modifier = control
-}
-
-# zoom in vertically
-ZoomInY {
- key = z
- modifier = meta
-}
-
-# zoom out vertically
-ZoomOutY {
- key = Z
- modifier = meta
-}
-
-# reset zooming
-ZoomReset {
- key = z
- modifier = control, meta
-}
-
-# resize output window to stream size
-Zoom1:1 {
- key = S
- modifier = none
-}
-
-# fullscreen toggle
-ToggleFullscreen {
- key = f
- modifier = none
-}
-
-# Xinerama fullscreen toggle
-ToggleXineramaFullscr {
- key = F
- modifier = none
-}
-
-# jump to media Menu
-Menu {
- key = Tab
- modifier = none
-}
-
-# jump to Title Menu
-TitleMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Root Menu
-RootMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Subpicture Menu
-SubpictureMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Audio Menu
-AudioMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Angle Menu
-AngleMenu {
- key = F1
- modifier = none
-}
-
-# jump to Part Menu
-PartMenu {
- key = F2
- modifier = none
-}
-
-# menu navigate up
-EventUp {
- key = Up
- modifier = none
-}
-
-# menu navigate down
-EventDown {
- key = Down
- modifier = none
-}
-
-# menu navigate left
-EventLeft {
- key = Left
- modifier = none
-}
-
-# menu navigate right
-EventRight {
- key = Right
- modifier = none
-}
-
-# menu select
-EventSelect {
- key = Return
- modifier = none
-}
-
-# jump to next chapter
-EventNext {
- key = KP_Next
- modifier = none
-}
-
-# jump to previous chapter
-EventPrior {
- key = KP_Prior
- modifier = none
-}
-
-# select next angle
-EventAngleNext {
- key = KP_Home
- modifier = none
-}
-
-# select previous angle
-EventAnglePrior {
- key = KP_End
- modifier = none
-}
-
-# visibility toggle of help window
-HelpShow {
- key = h
- modifier = meta
-}
-
-# visibility toggle of video post effect window
-VPProcessShow {
- key = P
- modifier = meta
-}
-
-# toggle post effect usage
-VPProcessEnable {
- key = P
- modifier = control, meta
-}
-
-# visibility toggle of output window
-ToggleWindowVisibility {
- key = h
- modifier = none
-}
-
-# bordered window toggle of output window
-ToggleWindowBorder {
- key = b
- modifier = none
-}
-
-# visibility toggle of UI windows
-ToggleVisibility {
- key = g
- modifier = none
-}
-
-# visibility toggle of control window
-ControlShow {
- key = c
- modifier = meta
-}
-
-# visibility toggle of mrl browser window
-MrlBrowser {
- key = m
- modifier = meta
-}
-
-# visibility toggle of playlist editor window
-PlaylistEditor {
- key = p
- modifier = meta
-}
-
-# visibility toggle of the setup window
-SetupShow {
- key = s
- modifier = meta
-}
-
-# visibility toggle of the event sender window
-EventSenderShow {
- key = e
- modifier = meta
-}
-
-# visibility toggle of analog TV window
-TVAnalogShow {
- key = t
- modifier = meta
-}
-
-# visibility toggle of log viewer
-ViewlogShow {
- key = l
- modifier = meta
-}
-
-# visibility toggle of stream info window
-StreamInfosShow {
- key = i
- modifier = meta
-}
-
-# display stream information using OSD
-OSDStreamInfos {
- key = i
- modifier = control
-}
-
-# display information using OSD
-OSDWriteText {
- key = VOID
- modifier = control
-}
-
-# show OSD menu
-OSDMenu {
- key = O
- modifier = none
-}
-
-# enter key binding editor
-KeyBindingEditor {
- key = k
- modifier = meta
-}
-
-# enable key bindings (not useful to bind a key to it!)
-KeyBindingsEnable {
- key = VOID
- modifier = none
-}
-
-# open file selector
-FileSelector {
- key = o
- modifier = control
-}
-
-# select a subtitle file
-SubSelector {
- key = S
- modifier = control
-}
-
-# download a skin from the skin server
-SkinDownload {
- key = d
- modifier = control
-}
-
-# display MRL/Ident toggle
-MrlIdentToggle {
- key = t
- modifier = control
-}
-
-# grab pointer toggle
-GrabPointer {
- key = Insert
- modifier = meta
-}
-
-# enter the number 0
-Number0 {
- key = 0
- modifier = none
-}
-
-# enter the number 1
-Number1 {
- key = 1
- modifier = none
-}
-
-# enter the number 2
-Number2 {
- key = 2
- modifier = none
-}
-
-# enter the number 3
-Number3 {
- key = 3
- modifier = none
-}
-
-# enter the number 4
-Number4 {
- key = 4
- modifier = none
-}
-
-# enter the number 5
-Number5 {
- key = 5
- modifier = none
-}
-
-# enter the number 6
-Number6 {
- key = 6
- modifier = none
-}
-
-# enter the number 7
-Number7 {
- key = 7
- modifier = none
-}
-
-# enter the number 8
-Number8 {
- key = 8
- modifier = none
-}
-
-# enter the number 9
-Number9 {
- key = 9
- modifier = none
-}
-
-# add 10 to the next entered number
-Number10add {
- key = plus
- modifier = mod3
-}
-
-# set position in current stream to numeric percentage
-SetPosition% {
- key = slash
- modifier = none
-}
-
-# set position forward by numeric argument in current stream
-SeekRelative+ {
- key = VOID
- modifier = meta
-}
-
-# set position back by numeric argument in current stream
-SeekRelative- {
- key = VOID
- modifier = mod3
-}
-
-# change audio video syncing (delay video)
-AudioVideoDecay+ {
- key = VOID
- modifier = none
-}
-
-# change audio video syncing (delay audio)
-AudioVideoDecay- {
- key = n
- modifier = none
-}
-
-# reset audio video syncing offset
-AudioVideoDecayReset {
- key = Home
- modifier = none
-}
-
-# change subtitle syncing (delay video)
-SpuVideoDecay+ {
- key = M
- modifier = none
-}
-
-# change subtitle syncing (delay subtitles)
-SpuVideoDecay- {
- key = N
- modifier = none
-}
-
-# reset subtitle syncing offset
-SpuVideoDecayReset {
- key = End
- modifier = none
-}
-
-# toggle TV modes (on the DXR3)
-ToggleTVmode {
- key = o
- modifier = control, meta
-}
-
-# switch Monitor to DPMS standby mode
-DPMSStandby {
- key = d
- modifier = none
-}
-
-# increase hue by 10
-HueControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease hue by 10
-HueControl- {
- key = VOID
- modifier = none
-}
-
-# increase saturation by 10
-SaturationControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease saturation by 10
-SaturationControl- {
- key = VOID
- modifier = none
-}
-
-# increase brightness by 10
-BrightnessControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease brightness by 10
-BrightnessControl- {
- key = VOID
- modifier = none
-}
-
-# increase contrast by 10
-ContrastControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease contrast by 10
-ContrastControl- {
- key = VOID
- modifier = none
-}
-
-# increase gamma by 10
-GammaControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease gamma by 10
-GammaControl- {
- key = VOID
- modifier = none
-}
-
-# increase sharpness by 10
-SharpnessControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease sharpness by 10
-SharpnessControl- {
- key = VOID
- modifier = none
-}
-
-# increase noise reduction by 10
-NoiseReductionControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease noise reduction by 10
-NoiseReductionControl- {
- key = VOID
- modifier = none
-}
-
-# quit the program
-Quit {
- key = q
- modifier = none
-}
-
-# input_pvr: set input
-PVRSetInput {
- key = VOID
- modifier = none
-}
-
-# input_pvr: set frequency
-PVRSetFrequency {
- key = VOID
- modifier = none
-}
-
-# input_pvr: mark the start of a new stream section
-PVRSetMark {
- key = VOID
- modifier = none
-}
-
-# input_pvr: set the name for the current stream section
-PVRSetName {
- key = VOID
- modifier = none
-}
-
-# input_pvr: save the stream section
-PVRSave {
- key = VOID
- modifier = none
-}
-
-# VDR Red button
-VDRButtonRed {
- key = F5
- modifier = none
-}
-
-# VDR Green button
-VDRButtonGreen {
- key = F6
- modifier = none
-}
-
-# VDR Yellow button
-VDRButtonYellow {
- key = F7
- modifier = none
-}
-
-# VDR Blue button
-VDRButtonBlue {
- key = F8
- modifier = none
-}
-
-# VDR Play
-VDRPlay {
- key = p
- modifier = none
-}
-
-# VDR Pause
-VDRPause {
- key = space
- modifier = none
-}
-
-# VDR Stop
-VDRStop {
- key = s
- modifier = none
-}
-
-# VDR Record
-VDRRecord {
- key = r
- modifier = none
-}
-
-# VDR Fast forward
-VDRFastFwd {
- key = w
- modifier = none
-}
-
-# VDR Fast rewind
-VDRFastRew {
- key = e
- modifier = none
-}
-
-# VDR Power
-VDRPower {
- key = VOID
- modifier = none
-}
-
-# VDR Channel +
-VDRChannelPlus {
- key = Prior
- modifier = none
-}
-
-# VDR Channel -
-VDRChannelMinus {
- key = Next
- modifier = none
-}
-
-# VDR Schedule menu
-VDRSchedule {
- key = VOID
- modifier = none
-}
-
-# VDR Channel menu
-VDRChannels {
- key = c
- modifier = none
-}
-
-# VDR Timers menu
-VDRTimers {
- key = VOID
- modifier = none
-}
-
-# VDR Recordings menu
-VDRRecordings {
- key = o
- modifier = none
-}
-
-# VDR Setup menu
-VDRSetup {
- key = VOID
- modifier = none
-}
-
-# VDR Command menu
-VDRCommands {
- key = D
- modifier = none
-}
-
-# VDR Command back
-VDRBack {
- key = BackSpace
- modifier = none
-}
-
-# VDR User command 0
-VDRUser0 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 1
-VDRUser1 {
- key = U
- modifier = none
-}
-
-# VDR User command 2
-VDRUser2 {
- key = V
- modifier = none
-}
-
-# VDR User command 3
-VDRUser3 {
- key = W
- modifier = none
-}
-
-# VDR User command 4
-VDRUser4 {
- key = X
- modifier = none
-}
-
-# VDR User command 5
-VDRUser5 {
- key = Y
- modifier = none
-}
-
-# VDR User command 6
-VDRUser6 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 7
-VDRUser7 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 8
-VDRUser8 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 9
-VDRUser9 {
- key = VOID
- modifier = none
-}
-
-# VDR Volume +
-VDRVolumePlus {
- key = KP_Add
- modifier = none
-}
-
-# VDR Volume -
-VDRVolumeMinus {
- key = KP_Subtract
- modifier = none
-}
-
-# VDR Mute audio
-VDRMute {
- key = m
- modifier = none
-}
-
-# VDR Audio menu
-VDRAudio {
- key = a
- modifier = none
-}
-
-# VDR Command info
-VDRInfo {
- key = i
- modifier = none
-}
-
-# VDR Previous channel
-VDRChannelPrevious {
- key = VOID
- modifier = none
-}
-
-# VDR Subtiles menu
-VDRSubtitles {
- key = u
- modifier = none
-}
-
-# menu select
-Alias {
- entry = EventSelect
- key = KP_Enter
- modifier = none
-}
-
-# jump to media Menu
-Alias {
- entry = Menu
- key = Insert
- modifier = none
-}
-
-# enter the number 0
-Alias {
- entry = Number0
- key = KP_0
- modifier = none
-}
-
-# enter the number 1
-Alias {
- entry = Number1
- key = KP_1
- modifier = none
-}
-
-# enter the number 2
-Alias {
- entry = Number2
- key = KP_2
- modifier = none
-}
-
-# enter the number 3
-Alias {
- entry = Number3
- key = KP_3
- modifier = none
-}
-
-# enter the number 4
-Alias {
- entry = Number4
- key = KP_4
- modifier = none
-}
-
-# enter the number 5
-Alias {
- entry = Number5
- key = KP_5
- modifier = none
-}
-
-# enter the number 6
-Alias {
- entry = Number6
- key = KP_6
- modifier = none
-}
-
-# enter the number 7
-Alias {
- entry = Number7
- key = KP_7
- modifier = none
-}
-
-# enter the number 8
-Alias {
- entry = Number8
- key = KP_8
- modifier = none
-}
-
-# enter the number 9
-Alias {
- entry = Number9
- key = KP_9
- modifier = none
-}
-
-# VDR Play
-Alias {
- entry = VDRPlay
- key = y
- modifier = none
-}
-
-##
-# End of xine key bindings.
-##
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-Makefile b/multimedia/vdr-plugin-xineliboutput/files/patch-Makefile
deleted file mode 100644
index 510b1084a45d..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-Makefile
+++ /dev/null
@@ -1,83 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -84,13 +84,8 @@ VDRINCDIR = /usr/local/include
- ### check for VDR
- ###
-
--ifeq ($(ARCH_APPLE_DARWIN), yes)
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
--else
-- VDRVERSION = $(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
-- APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
--endif
-
- VDR_TREE = no
- ifeq ($(strip $(VDRVERSION)),)
-@@ -199,6 +194,9 @@ endif
- ifdef STARTUP_IMAGE_FILE
- DEFINES += -DSTARTUP_IMAGE_FILE='"$(STARTUP_IMAGE_FILE)"'
- endif
-+ifdef LOCALBASE
-+ DEFINES += -DLOCALBASE='"$(LOCALBASE)"'
-+endif
-
-
- ###
-@@ -410,10 +410,10 @@ ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
- endif
- ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
- ifeq ($(VDR_TREE), no)
-- @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN)
-- @mkdir -p $(DESTDIR)$(LIBDIR)
-- @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN)
-- @$(INSTALL) -D -m 0755 $(VDRPLUGIN) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN)
-+ @echo Installing $(LIBDIR)/$(VDRPLUGIN)
-+ @mkdir -p $(LIBDIR)
-+ @-rm -rf $(LIBDIR)/$(VDRPLUGIN)
-+ @$(INSTALL) -m 0755 $(VDRPLUGIN) $(LIBDIR)/$(VDRPLUGIN)
- endif
- endif
- ifeq ($(XINELIBOUTPUT_FB), yes)
-@@ -423,10 +423,10 @@ ifeq ($(XINELIBOUTPUT_FB), yes)
- @$(INSTALL) -m 0755 vdr-fbfe $(DESTDIR)/$(BINDIR)/vdr-fbfe
- ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
- ifeq ($(VDR_TREE), no)
-- @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_FBFE)
-- @mkdir -p $(DESTDIR)$(LIBDIR)
-- @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_FBFE)
-- @$(INSTALL) -m 0755 $(VDRPLUGIN_FBFE) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_FBFE)
-+ @echo Installing $(LIBDIR)/$(VDRPLUGIN_FBFE)
-+ @mkdir -p $(LIBDIR)
-+ @-rm -rf $(LIBDIR)/$(VDRPLUGIN_FBFE)
-+ @$(INSTALL) -m 0755 $(VDRPLUGIN_FBFE) $(LIBDIR)/$(VDRPLUGIN_FBFE)
- endif
- endif
- endif
-@@ -437,10 +437,10 @@ ifeq ($(XINELIBOUTPUT_X11), yes)
- @$(INSTALL) -m 0755 vdr-sxfe $(DESTDIR)/$(BINDIR)/vdr-sxfe
- ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
- ifeq ($(VDR_TREE), no)
-- @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_SXFE)
-- @mkdir -p $(DESTDIR)$(LIBDIR)
-- @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_SXFE)
-- @$(INSTALL) -m 0755 $(VDRPLUGIN_SXFE) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_SXFE)
-+ @echo Installing $(LIBDIR)/$(VDRPLUGIN_SXFE)
-+ @mkdir -p $(LIBDIR)
-+ @-rm -rf $(LIBDIR)/$(VDRPLUGIN_SXFE)
-+ @$(INSTALL) -m 0755 $(VDRPLUGIN_SXFE) $(LIBDIR)/$(VDRPLUGIN_SXFE)
- endif
- endif
- endif
-@@ -441,6 +439,11 @@ ifeq ($(XINELIBOUTPUT_X11), yes)
- endif
- endif
- endif
-+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
-+ @$(INSTALL) -m 0755 $(LIBDIR)/$(VDRPLUGIN) $(DESTDIR)/${PREFIX}/lib/vdr
-+ @$(INSTALL) -m 0755 $(LIBDIR)/$(VDRPLUGIN_SXFE) $(DESTDIR)/${PREFIX}/lib/vdr
-+
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-c++11 b/multimedia/vdr-plugin-xineliboutput/files/patch-c++11
deleted file mode 100644
index ca242e5d3553..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-c++11
+++ /dev/null
@@ -1,163 +0,0 @@
-diff -ruN vdr-xineliboutput.orig/device.c vdr-xineliboutput/device.c
---- vdr-xineliboutput.orig/device.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/device.c 2021-08-30 10:52:36.560762000 +0200
-@@ -967,7 +967,7 @@
- #ifdef LOG_TRICKSPEED
- if(PictureType != NO_PICTURE && PES_HAS_PTS(buf)) {
- int64_t pts = pes_get_pts(buf, length);
-- LOGMSG(" TrickSpeed: frame %s pts %"PRId64, picture_type_str[PictureType], pts);
-+ LOGMSG(" TrickSpeed: frame %s pts %" PRId64, picture_type_str[PictureType], pts);
- }
- #endif
-
-@@ -1019,11 +1019,11 @@
- if(m_TrickSpeedPts == 0) {
- m_TrickSpeedMode |= trs_NoAudio;
- m_TrickSpeedPts = pts;
-- LOGTRICKSPEED(" Seen video pts = %"PRId64, pts);
-+ LOGTRICKSPEED(" Seen video pts = %" PRId64, pts);
- } else {
- if(pts < m_TrickSpeedPts) {
- /* -> playing fast backwards */
-- LOGTRICKSPEED(" Detected fast backward mode. last %"PRId64" now %"PRId64,
-+ LOGTRICKSPEED(" Detected fast backward mode. last %" PRId64 " now %" PRId64,
- m_TrickSpeedPts, pts);
- //if(!(m_TrickSpeedMode & trs_PTS_recalc))
- // ForEach(m_clients, &cXinelibThread::Clear);
-@@ -1051,7 +1051,7 @@
- if(m_TrickSpeedPts == 0)
- m_TrickSpeedPts = pts;
-
-- LOGTRICKSPEED(" pts %"PRId64" -> %"PRId64" (diff %"PRId64") %"PRId64"", pts,
-+ LOGTRICKSPEED(" pts %" PRId64 " -> %" PRId64 " (diff %" PRId64 ") %" PRId64 "", pts,
- m_TrickSpeedPts + 40*12*90, m_TrickSpeedPts + 40*12*90 - pts,
- (m_TrickSpeedPts + 40*12*90)^0x80000000);
- pts = m_TrickSpeedPts = m_TrickSpeedPts + 40*12*90; /* 12 frames * 40ms -> pts units */
-diff -ruN vdr-xineliboutput.orig/tools/ts.c vdr-xineliboutput/tools/ts.c
---- vdr-xineliboutput.orig/tools/ts.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/tools/ts.c 2021-08-30 10:54:49.676758000 +0200
-@@ -545,7 +545,7 @@
-
- #ifdef LOG_PCR
- uint epcr = ((pkt[10] & 0x1) << 8) | pkt[11];
-- LOGPCR("ts_get_pcr: PCR: %"PRId64", EPCR: %u", pcr, epcr);
-+ LOGPCR("ts_get_pcr: PCR: %" PRId64 ", EPCR: %u", pcr, epcr);
- #endif
-
- *ppcr = pcr;
-diff -ruN vdr-xineliboutput.orig/xine/BluRay/decode_spuhdmv.c vdr-xineliboutput/xine/BluRay/decode_spuhdmv.c
---- vdr-xineliboutput.orig/xine/BluRay/decode_spuhdmv.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/BluRay/decode_spuhdmv.c 2021-08-30 10:50:45.900369000 +0200
-@@ -925,7 +925,7 @@
-
- static void decode_segment(spuhdmv_decoder_t *this)
- {
-- XINE_HDMV_TRACE("*** new segment, pts %010"PRId64": 0x%02x (%8d bytes)\n",
-+ XINE_HDMV_TRACE("*** new segment, pts %010" PRId64 ": 0x%02x (%8d bytes)\n",
- this->pts, this->buf->segment_type, this->buf->segment_len);
-
- switch (segbuf_segment_type(this->buf)) {
-diff -ruN vdr-xineliboutput.orig/xine/BluRay/input_bluray.c vdr-xineliboutput/xine/BluRay/input_bluray.c
---- vdr-xineliboutput.orig/xine/BluRay/input_bluray.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/BluRay/input_bluray.c 2021-08-30 10:54:23.289681000 +0200
-@@ -568,7 +568,7 @@
-
- #ifdef LOG
- int ms = this->title_info->duration / INT64_C(90);
-- lprintf("Opened title %d. Length %"PRId64" bytes / %02d:%02d:%02d.%03d\n",
-+ lprintf("Opened title %d. Length %" PRId64 " bytes / %02d:%02d:%02d.%03d\n",
- this->current_title_idx, bd_get_title_size(this->bdh),
- ms / 3600000, (ms % 3600000 / 60000), (ms % 60000) / 1000, ms % 1000);
- #endif
-diff -ruN vdr-xineliboutput.orig/xine/adjustable_scr.c vdr-xineliboutput/xine/adjustable_scr.c
---- vdr-xineliboutput.orig/xine/adjustable_scr.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/adjustable_scr.c 2021-08-30 10:50:17.820989000 +0200
-@@ -274,13 +274,13 @@
- set_pivot( this );
- this->buffering = 1;
- this->buffering_start_time = time_ms();
-- LOGMSG("start buffering at %"PRId64, this->cur_pts);
-+ LOGMSG("start buffering at %" PRId64, this->cur_pts);
- }
- } else {
- if (this->buffering) {
- set_pivot( this );
- this->buffering = 0;
-- LOGMSG("stop buffering at %"PRId64" (buffering took %"PRIu64" ms)",
-+ LOGMSG("stop buffering at %" PRId64 " (buffering took %" PRIu64 " ms)",
- this->cur_pts, elapsed(this->buffering_start_time));
- }
- }
-diff -ruN vdr-xineliboutput.orig/xine/demux_xvdr.c vdr-xineliboutput/xine/demux_xvdr.c
---- vdr-xineliboutput.orig/xine/demux_xvdr.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/demux_xvdr.c 2021-08-30 10:51:33.112992000 +0200
-@@ -227,7 +227,7 @@
- int still_mode = (int)this->stream->metronom->get_option(this->stream->metronom, XVDR_METRONOM_STILL_MODE);
- int trick_speed = (int)this->stream->metronom->get_option(this->stream->metronom, XVDR_METRONOM_TRICK_SPEED);
- if (still_mode > 0 || trick_speed > 0) {
-- LOGMSG("Skipping new pts %"PRId64" (still=%d trickspeed=%d)", buf->pts, still_mode, trick_speed);
-+ LOGMSG("Skipping new pts %" PRId64 " (still=%d trickspeed=%d)", buf->pts, still_mode, trick_speed);
- return;
- }
- }
-@@ -239,7 +239,7 @@
-
- if (this->send_newpts || (this->last_pts[video] && abs(diff)>WRAP_THRESHOLD)) {
-
-- LOGVERBOSE("New PTS: %"PRId64" (%s)", buf->pts, video ? "VIDEO" : "AUDIO");
-+ LOGVERBOSE("New PTS: %" PRId64 " (%s)", buf->pts, video ? "VIDEO" : "AUDIO");
-
- if (this->buf_flag_seek) {
- _x_demux_control_newpts(this->stream, buf->pts, BUF_FLAG_SEEK);
-diff -ruN vdr-xineliboutput.orig/xine/vo_lastpts.c vdr-xineliboutput/xine/vo_lastpts.c
---- vdr-xineliboutput.orig/xine/vo_lastpts.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/vo_lastpts.c 2021-08-30 10:55:43.802524000 +0200
-@@ -83,7 +83,7 @@
- if (this->xvdr_metronom) {
- ASSERT_RET(this->xvdr_metronom->set_option, return);
-
-- LOGVERBOSE("last pts %"PRId64, vo_img->pts);
-+ LOGVERBOSE("last pts %" PRId64, vo_img->pts);
-
- this->xvdr_metronom->set_option(this->xvdr_metronom, XVDR_METRONOM_LAST_VO_PTS, vo_img->pts);
- }
-diff -ruN vdr-xineliboutput.orig/xine/xvdr_metronom.c vdr-xineliboutput/xine/xvdr_metronom.c
---- vdr-xineliboutput.orig/xine/xvdr_metronom.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/xvdr_metronom.c 2021-08-30 10:57:30.121628000 +0200
-@@ -37,11 +37,11 @@
- int64_t dv = this->vid_pts - this->disc_pts;
- int64_t d_min = min64(da, dv);
- LOGMSG(" stream A-V diff %d ms", (int)(this->vid_pts - this->aud_pts)/90);
-- LOGMSG(" reported stream start at pts %"PRId64, this->disc_pts);
-- LOGMSG(" output fifo end at: audio %"PRId64" video %"PRId64, this->aud_pts, this->vid_pts);
-- LOGMSG(" dA %"PRId64" dV %"PRId64, da, dv);
-+ LOGMSG(" reported stream start at pts %" PRId64, this->disc_pts);
-+ LOGMSG(" output fifo end at: audio %" PRId64 " video %" PRId64, this->aud_pts, this->vid_pts);
-+ LOGMSG(" dA %" PRId64 " dV %" PRId64, da, dv);
- if (d_min < 0 && d_min > -10*90000) {
-- LOGMSG(" *** output is late %"PRId64" ticks (%"PRId64" ms) ***", d_min, -d_min/90);
-+ LOGMSG(" *** output is late %" PRId64 " ticks (%" PRId64 " ms) ***", d_min, -d_min/90);
- this->scr->jump(this->scr, d_min);
- }
- this->buffering = 0;
-diff -ruN vdr-xineliboutput.orig/xine_input_vdr.c vdr-xineliboutput/xine_input_vdr.c
---- vdr-xineliboutput.orig/xine_input_vdr.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine_input_vdr.c 2021-08-30 10:56:35.415173000 +0200
-@@ -3963,7 +3963,7 @@
- }
-
- if (this->discard_index != this->curpos) {
-- LOGMSG("wait_stream_sync: discard_index %"PRIu64" != curpos %"PRIu64" ! (diff %"PRId64")",
-+ LOGMSG("wait_stream_sync: discard_index %"PRIu64" != curpos %"PRIu64" ! (diff %" PRId64 ")",
- this->discard_index, this->curpos, (int64_t)(this->discard_index - this->curpos));
- }
-
-@@ -3983,7 +3983,7 @@
- errno = EINTR;
- }
- else if (counter <= 0) {
-- LOGMSG("wait_stream_sync: Timed out ! diff %"PRId64,
-+ LOGMSG("wait_stream_sync: Timed out ! diff %" PRId64,
- (int64_t)(this->discard_index - this->discard_index_ds));
- errno = EAGAIN;
- }
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-clang b/multimedia/vdr-plugin-xineliboutput/files/patch-clang
deleted file mode 100644
index 2efed807f0b7..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-clang
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -257,7 +257,7 @@ DEPFILE = .dependencies
- $(DEPFILE): Makefile config.mak
- @rm -f $@
- @for i in $(OBJS:%.o=%.c) $(OBJS_SXFE:%.o=%.c) $(OBJS_FBFE:%.o=%.c) $(OBJS_XINE:%.o=%.c) ; do \
-- $(MAKEDEP) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
-+ $(MAKEDEP) $(DEFINES) $(INCLUDES) $(CFLAGS_X11) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
- done
-
- -include $(DEPFILE)
---- a/xine_post_autocrop.c
-+++ b/xine_post_autocrop.c
-@@ -42,6 +42,7 @@
- */
-
-
-+#include <stddef.h>
- #include <stdint.h>
-
- #include <xine/xine_internal.h>
---- a/xine_post_swscale.c
-+++ b/xine_post_swscale.c
-@@ -37,6 +37,8 @@
- * - Fixed yv12 stretched warp tables generation
- */
-
-+#include <stddef.h>
-+
- #include <xine/xine_internal.h>
- #include <xine/post.h>
- #include <float.h> /* DBL_MIN */
---- a/xine_post_audiochannel.c
-+++ b/xine_post_audiochannel.c
-@@ -39,6 +39,8 @@
- *
- */
-
-+#include <stddef.h>
-+
- #include <xine/xine_internal.h>
- #include <xine/post.h>
-
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-config.c b/multimedia/vdr-plugin-xineliboutput/files/patch-config.c
deleted file mode 100644
index 7f17158bf777..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-config.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/config.c
-+++ b/config.c
-@@ -544,7 +544,11 @@ config_t::config_t() {
- memset(audio_equalizer,0,sizeof(audio_equalizer));
- strn0cpy(audio_visualization, "goom", sizeof(audio_visualization));
- strn0cpy(audio_vis_goom_opts, "fps:25,width:720,height:576", sizeof(audio_vis_goom_opts));
-+#ifdef LOCALBASE
-+ strn0cpy(audio_vis_image_mrl, "file:" LOCALBASE "/share/xine/visuals/default.avi", sizeof(audio_vis_image_mrl));
-+#else
- strn0cpy(audio_vis_image_mrl, "file:/usr/share/xine/visuals/default.avi", sizeof(audio_vis_image_mrl));
-+#endif
-
- headphone = 0;
- audio_upmix = 0;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-configure b/multimedia/vdr-plugin-xineliboutput/files/patch-configure
deleted file mode 100644
index 5051156c313e..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-configure
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ruN b/configure a/configure
---- b/configure 2012-05-11 09:37:27.000000000 +0200
-+++ a/configure 2021-08-31 08:43:00.871579000 +0200
-@@ -234,6 +234,7 @@
- xrender
- xshape
- opengl
-+ glx
- pthread
- dlfcn
- vdpau
-@@ -333,6 +334,7 @@
- disabled x11 && disable dbus-glib-1 xshm xrender xshape opengl xdpms xinerama vdpau
- disabled vdr && disable libextractor libcap libbluray
- disabled dlfcn && disable opengl
-+ disabled glx && disable opengl
- disabled pthread && disable opengl
- disabled xrender && disable xshape xshm
- }
-@@ -349,11 +351,14 @@
- [ $debug = yes ] && \
- test_library X11 do_error "none.h" "-lnolib"
-
--test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)"
--test_library VDR libcap "sys/capability.h" "-lcap" "cap_get_proc()"
--test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)"
--test_library XINE libxine "xine.h" "-lxine" "xine_init(0)"
--test_library DLFCN dlfcn "dlfcn.h" "-ldl" "dlopen(0,0)"
-+#test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)"
-+test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+#test_library VDR libcap "sys/capability.h" "-lcap" "cap_get_proc()"
-+#test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)"
-+test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+#test_library XINE libxine "xine.h" "-lxine" "xine_init(0)"
-+test_library XINE libxine "xine.h" "-lxine" "xine_init(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+test_library DLFCN dlfcn "dlfcn.h" "" "dlopen(0,0)"
-
- if enabled libxine; then
-
-@@ -365,24 +370,41 @@
- fi
- log " $XINEPLUGINDIR"
-
-- test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)"
-- test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)"
-- test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()"
-+# test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)"
-+ test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)"
-+ test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()"
-+ test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
- test_library PTHREAD pthread "pthread.h" "-lpthread" "pthread_create(0,0,0,0)"
- if enabled x11; then
-- test_library X11 xext "X11/extensions/Xext.h" "-lXext" ""
-- test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)"
-- test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)"
-- test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)"
-- test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)"
-- test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)"
-- test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)"
-- test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)"
-+# test_library X11 xext "X11/extensions/Xext.h" "-lXext" ""
-+ test_library X11 xext "X11/extensions/Xext.h" "-lXext" "" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)"
-+ test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)"
-+ test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)"
-+ test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)"
-+ test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)"
-+ test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)"
-+ test_library X11 opengl "GL/gl.h" "-lGL -LGLU" "glTexCoord2f(0.0,0.0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+ test_library X11 glx "GL/glx.h" "-lGLX" "glXQueryVersion(0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)"
-+ test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 dbus-glib-1 \
-+# "dbus/dbus-glib.h" \
-+# "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \
-+# "dbus_g_bus_get(0,0)" \
-+# "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include"
- test_library X11 dbus-glib-1 \
- "dbus/dbus-glib.h" \
- "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \
- "dbus_g_bus_get(0,0)" \
-- "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include"
-+ "-I/usr/include/dbus-1.0 -I${LOCALBASE}/include/dbus-1.0 -I/usr/include/glib-2.0 -I${LOCALBASE}/include/glib-2.0 -L${LOCALBASE}/lib"
- fi
- fi
-
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c b/multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c
deleted file mode 100644
index c788791a98dc..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/frontend.c.orig 2012-05-11 07:37:27 UTC
-+++ b/frontend.c
-@@ -91,7 +91,7 @@ void cXinelibThread::KeypressHandler(con
- if (!remote->Put(key, repeat, release)) {
- if (!strcmp(keymap, "KBD")) {
- uint64_t value = 0;
-- sscanf(key, "%"PRIX64, &value);
-+ sscanf(key, "%" PRIX64, &value);
- if (value) {
- remote->cRemote::Put(KBDKEY(value));
- return;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-osd.c b/multimedia/vdr-plugin-xineliboutput/files/patch-osd.c
deleted file mode 100644
index 074e367f5b97..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-osd.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/osd.c.orig 2012-05-11 07:37:27 UTC
-+++ b/osd.c
-@@ -567,7 +567,7 @@ void cXinelibOsd::Flush(void)
- int NumColors;
- const tColor *Colors = Bitmap->Colors(NumColors);
- if (Colors) {
-- osd_rect_t DirtyArea = {x1:x1, y1:y1, x2:x2, y2:y2};
-+ osd_rect_t DirtyArea = {x1:(uint16_t)x1, y1:(uint16_t)y1, x2:(uint16_t)x2, y2:(uint16_t)y2};
- CmdLut8(i,
- Left() + Bitmap->X0() + XOffset, Top() + Bitmap->Y0() + YOffset,
- Bitmap->Width(), Bitmap->Height(),
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c b/multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c
deleted file mode 100644
index acc7c835b7e7..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/xine/osd_manager.c.orig 2012-05-11 07:37:27 UTC
-+++ b/xine/osd_manager.c
-@@ -11,7 +11,6 @@
- #include <stdlib.h>
- #include <pthread.h>
-
--#define XINE_ENGINE_INTERNAL
- #include <xine/xine_internal.h>
- #include <xine/video_out.h>
-
-@@ -70,18 +69,25 @@ typedef struct osd_manager_impl_s {
- /*
- * acquire_ticket()
- */
--static void acquire_ticket(osd_manager_impl_t *this)
-+static int acquire_ticket(osd_manager_impl_t *this)
- {
-- if (!this->ticket_acquired) {
-- this->stream->xine->port_ticket->acquire(this->stream->xine->port_ticket, 1);
-+ if (this->ticket_acquired) {
-+ return 1;
-+ }
-+
-+ if (_x_lock_port_rewiring(this->stream->xine, 200)) {
- this->ticket_acquired = 1;
-+ return 1;
- }
-+
-+ LOGMSG("lock_port_rewiring() failed");
-+ return 0;
- }
-
- static void release_ticket(osd_manager_impl_t *this)
- {
- if (this->ticket_acquired) {
-- this->stream->xine->port_ticket->release(this->stream->xine->port_ticket, 1);
-+ _x_unlock_port_rewiring(this->stream->xine);
- this->ticket_acquired = 0;
- }
- }
-@@ -92,7 +98,10 @@ static void release_ticket(osd_manager_impl_t *this)
- video_overlay_manager_t *get_ovl_manager(osd_manager_impl_t *this)
- {
- /* Get overlay manager. We need ticket ... */
-- acquire_ticket(this);
-+
-+ if (!acquire_ticket(this))
-+ return NULL;
-+
- video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager(this->stream->video_out);
- if (!ovl_manager) {
- LOGMSG("Stream has no overlay manager !");
-@@ -256,7 +265,10 @@ static int exec_osd_size(osd_manager_impl_t *this, osd
- osd->video_window_w = 0;
- osd->video_window_h = 0;
-
-- acquire_ticket(this);
-+ if (!acquire_ticket(this)) {
-+ return CONTROL_PARAM_ERROR;
-+ }
-+
-
- xine_video_port_t *video_out = this->stream->video_out;
-
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h b/multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h
deleted file mode 100644
index 84abdecbc381..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/tools/sys_cap.h
-+++ b/tools/sys_cap.h
-@@ -11,7 +11,9 @@
- #ifndef _XINELIBOUTPUT_SYS_CAP_H_
- #define _XINELIBOUTPUT_SYS_CAP_H_
-
--#include "../features.h"
-+#ifdef HAVE_LIBCAP
-+# include "../features.h"
-+#endif
-
- #include <unistd.h>
- #include <sys/types.h>
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h b/multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h
deleted file mode 100644
index 34ae671d09d6..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tools/sdp.h.orig 2012-05-11 07:37:27 UTC
-+++ b/tools/sdp.h
-@@ -54,7 +54,7 @@ static const char *vdr_sdp_description(c
- s_data = cString::sprintf(
- /*** session ***/
- /* version */ "v=0"
-- /* origin */ "\r\n" "o=%s %u %"PRIu64" IN IP4 %s"
-+ /* origin */ "\r\n" "o=%s %u %" PRIu64 " IN IP4 %s"
- /* name */ "\r\n" "s=%s@%s (multicast %s:%d)"
- /* opt:info */ /*"\r\n" "i=vdr-xineliboutput primary device output"*/
- /* time */ "\r\n" "t=0 0"
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c b/multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c
deleted file mode 100644
index 3a65825fa062..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tools/udp_pes_scheduler.c.orig 2012-05-11 07:37:27 UTC
-+++ b/tools/udp_pes_scheduler.c
-@@ -674,7 +674,7 @@ void cUdpScheduler::Schedule(const uchar
-
- if (DATA_IS_TS(Data)) {
- if (ts_get_pcr_n(Data, Length/TS_SIZE, &pts)) {
-- LOGSCR("UDP PCR: %"PRId64, pts);
-+ LOGSCR("UDP PCR: %" PRId64, pts);
- ScrSource = eScrFromPcr;
- elapsed = CalcElapsedVtime(pts, eScrFromPcr);
- }
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c
deleted file mode 100644
index 6d8b4dfb66a5..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c
+++ /dev/null
@@ -1,108 +0,0 @@
---- a/xine_frontend.c.orig 2012-05-11 07:37:27 UTC
-+++ b/xine_frontend.c
-@@ -25,7 +25,6 @@
- # undef boolean
- #endif
-
--#define XINE_ENGINE_INTERNAL
- #include <xine.h>
- #include <xine/xine_internal.h>
-
-@@ -1702,13 +1701,16 @@ static vo_frame_t *yuy2_to_yv12_frame(xine_stream_t *s
- {
- /* convert yuy12 frames to yv12 */
- if (frame && frame->format == XINE_IMGFMT_YUY2) {
-- stream->xine->port_ticket->acquire(stream->xine->port_ticket, 0);
-- vo_frame_t *img = stream->video_out->get_frame (stream->video_out,
-- frame->width, frame->height,
-- frame->ratio, XINE_IMGFMT_YV12,
-- VO_BOTH_FIELDS);
-- stream->xine->port_ticket->release(stream->xine->port_ticket, 0);
-+ vo_frame_t *img = NULL;
-
-+ if (_x_lock_port_rewiring(stream->xine, 0)) {
-+ img = stream->video_out->get_frame (stream->video_out,
-+ frame->width, frame->height,
-+ frame->ratio, XINE_IMGFMT_YV12,
-+ VO_BOTH_FIELDS);
-+ _x_unlock_port_rewiring(stream->xine);
-+ }
-+
- if (!img) {
- LOGMSG("yuy2_to_yv12_frame: get_frame failed");
- frame->free(frame);
-@@ -1738,6 +1740,8 @@ static char *frame_compress_jpeg(fe_t *this, int *size
-
- /* convert yuy2 frames to yv12 */
- frame = yuy2_to_yv12_frame(this->stream, frame);
-+ if (!frame)
-+ return NULL;
-
- /* Compress JPEG */
-
-@@ -1836,13 +1840,16 @@ static vo_frame_t *yv12_to_yuy2_frame(xine_stream_t *s
- {
- /* convert yv12 frames to yuy2 */
- if (frame && frame->format == XINE_IMGFMT_YV12) {
-- stream->xine->port_ticket->acquire(stream->xine->port_ticket, 0);
-- vo_frame_t *img = stream->video_out->get_frame (stream->video_out,
-- frame->width, frame->height,
-- frame->ratio, XINE_IMGFMT_YUY2,
-- VO_BOTH_FIELDS);
-- stream->xine->port_ticket->release(stream->xine->port_ticket, 0);
-+ vo_frame_t *img = NULL;
-
-+ if (_x_lock_port_rewiring(stream->xine, 0)) {
-+ img = stream->video_out->get_frame (stream->video_out,
-+ frame->width, frame->height,
-+ frame->ratio, XINE_IMGFMT_YUY2,
-+ VO_BOTH_FIELDS);
-+ _x_unlock_port_rewiring(stream->xine);
-+ }
-+
- if (!img) {
- LOGMSG("yv12_to_yuy2_frame: get_frame failed");
- frame->free(frame);
-@@ -2006,11 +2013,16 @@ static char *fe_grab(frontend_t *this_gen, int *size,
- height = (MAX(16, MIN(height, 1200)) + 1) & ~1; /* 16...1200, even */
-
- /* get last frame */
-- this->stream->xine->port_ticket->acquire(this->stream->xine->port_ticket, 0);
-
- #ifdef HAVE_XINE_GRAB_VIDEO_FRAME
-+ xine_grab_video_frame_t *grab_frame = NULL;
- char *img = NULL;
-- xine_grab_video_frame_t *grab_frame = xine_new_grab_video_frame(this->stream);
-+
-+ if (_x_lock_port_rewiring(this->xine, 0)) {
-+ grab_frame = xine_new_grab_video_frame(this->stream);
-+ _x_unlock_port_rewiring(this->xine);
-+ }
-+
- if (grab_frame) {
- grab_frame->width = width;
- grab_frame->height = height;
-@@ -2018,15 +2030,18 @@ static char *fe_grab(frontend_t *this_gen, int *size,
- img = fe_compress_grab_frame(this, size, jpeg, quality, width, height, grab_frame);
- grab_frame->dispose(grab_frame);
- }
-- this->stream->xine->port_ticket->release(this->stream->xine->port_ticket, 0);
- return img;
- #else
-- vo_frame_t *frame = this->stream->video_out->get_last_frame (this->stream->video_out);
-+ vo_frame_t *frame = NULL;
-+
-+ if (_x_lock_port_rewiring(this->xine, 0)) {
-+ frame = this->stream->video_out->get_last_frame (this->stream->video_out);
- #if XINE_VERSION_CODE < 10190
-- if(frame)
-- frame->lock(frame);
-+ if (frame)
-+ frame->lock(frame);
- #endif
-- this->stream->xine->port_ticket->release(this->stream->xine->port_ticket, 0);
-+ _x_unlock_port_rewiring(this->xine);
-+ }
-
- if(!frame) {
- LOGMSG("fe_grab: get_last_frame() failed");
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c
deleted file mode 100644
index cc3e28b64e7c..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xine_frontend_main.c
-+++ b/xine_frontend_main.c
-@@ -629,7 +629,7 @@ int main(int argc, char *argv[])
- case 'C': config_file = optarg;
- PRINTF("Config file: %s\n", config_file);
- break;
-- case 'L': lirc_dev = strdup(optarg ? : "/dev/lircd");
-+ case 'L': lirc_dev = strdup(optarg ? : "/var/run/lirc/lircd");
- if (strstr(lirc_dev, ",repeatemu")) {
- *strstr(lirc_dev, ",repeatemu") = 0;
- repeat_emu = 1;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c
deleted file mode 100644
index 6745a68fb3f9..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c
+++ /dev/null
@@ -1,283 +0,0 @@
---- xine_input_vdr.c.orig 2012-05-11 07:37:27 UTC
-+++ xine_input_vdr.c
-@@ -1573,9 +1573,7 @@ static void set_still_mode(vdr_input_plugin_t *this, i
- if (still_mode || this->still_mode)
- CHECK_FALSE(this->live_mode);
-
-- pthread_mutex_lock (&this->stream->first_frame_lock);
-- this->stream->first_frame_flag = 2;
-- pthread_mutex_unlock (&this->stream->first_frame_lock);
-+ _x_trigger_relaxed_frame_drop_mode(this->stream);
-
- this->still_mode = !!still_mode;
- _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HAS_STILL, this->still_mode);
-@@ -1719,11 +1717,12 @@ static void queue_blank_yv12(vdr_input_plugin_t *this)
- _x_demux_control_newpts(this->stream, 0, BUF_FLAG_SEEK);
-
-
-- this->class->xine->port_ticket->acquire (this->class->xine->port_ticket, 1);
-- img = this->stream->video_out->get_frame (this->stream->video_out,
-- width, height, dratio,
-- XINE_IMGFMT_YV12, VO_BOTH_FIELDS);
-- this->class->xine->port_ticket->release (this->class->xine->port_ticket, 1);
-+ if (_x_lock_port_rewiring(this->class->xine, 100)) {
-+ img = this->stream->video_out->get_frame (this->stream->video_out,
-+ width, height, dratio,
-+ XINE_IMGFMT_YV12, VO_BOTH_FIELDS);
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
-
- if (img) {
- if (img->format == XINE_IMGFMT_YV12 && img->base[0] && img->base[1] && img->base[2]) {
-@@ -1977,88 +1976,6 @@ static int vdr_plugin_exec_osd_command(vdr_input_plugi
-
- /******************************* Control *********************************/
-
--#if XINE_VERSION_CODE < 10111
--# define DEMUX_MUTEX_LOCK
--# define DEMUX_MUTEX_UNLOCK
--# define DEMUX_RESUME_SIGNAL
--#else
--# define DEMUX_MUTEX_LOCK pthread_mutex_lock(&stream->demux_mutex)
--# define DEMUX_MUTEX_UNLOCK pthread_mutex_unlock(&stream->demux_mutex)
--# define DEMUX_RESUME_SIGNAL pthread_cond_signal(&this->stream->demux_resume)
--#endif
--
--#if XINE_VERSION_CODE < 10200
--# define RAISE_ACTION_PENDING this->stream->demux_action_pending = 1
--# define LOWER_ACTION_PENDING this->stream->demux_action_pending = 0
--#else
--# define RAISE_ACTION_PENDING _x_action_raise(this->stream)
--# define LOWER_ACTION_PENDING _x_action_lower(this->stream)
--#endif
--
--static void suspend_demuxer(vdr_input_plugin_t *this)
--{
-- if (this->is_paused)
-- LOGMSG("WARNING: called suspend_demuxer in paused mode !");
--
-- /* request demuxer to release demux_lock */
-- RAISE_ACTION_PENDING;
--
-- /* signal all possible sync points to speed up this */
-- pthread_cond_broadcast(&this->engine_flushed);
-- signal_buffer_not_empty(this);
--
-- /* let demuxer return from vdr_plugin_read_* */
-- if (pthread_mutex_unlock( &this->lock ))
-- LOGERR("pthread_mutex_unlock failed !");
--
-- /* lock demuxer */
-- pthread_mutex_lock( &this->stream->demux_lock );
--
-- LOWER_ACTION_PENDING;
--
-- pthread_mutex_lock( &this->lock );
--
-- /* must be paired with resume_demuxer !!! */
--}
--
--static void resume_demuxer(vdr_input_plugin_t *this)
--{
-- /* must be paired with suspend_demuxer !!! */
--
-- DEMUX_RESUME_SIGNAL;
-- pthread_mutex_unlock( &this->stream->demux_lock );
--}
--
--static void vdr_x_demux_control_newpts( xine_stream_t *stream, int64_t pts,
-- uint32_t flags )
--{
-- buf_element_t *buf;
--
-- DEMUX_MUTEX_LOCK;
--
-- buf = stream->video_fifo ? stream->video_fifo->buffer_pool_try_alloc (stream->video_fifo) : NULL;
-- if(buf) {
-- buf->type = BUF_CONTROL_NEWPTS;
-- buf->decoder_flags = flags;
-- buf->disc_off = pts;
-- stream->video_fifo->put (stream->video_fifo, buf);
-- } else {
-- LOGMSG("vdr_x_demux_control_newpts: video fifo full !");
-- }
--
-- buf = stream->audio_fifo ? stream->audio_fifo->buffer_pool_try_alloc (stream->audio_fifo) : NULL;
-- if (buf) {
-- buf->type = BUF_CONTROL_NEWPTS;
-- buf->decoder_flags = flags;
-- buf->disc_off = pts;
-- stream->audio_fifo->put (stream->audio_fifo, buf);
-- } else {
-- LOGMSG("vdr_x_demux_control_newpts: audio fifo full !");
-- }
--
-- DEMUX_MUTEX_UNLOCK;
--}
--
- static void vdr_flush_engine(vdr_input_plugin_t *this, uint64_t discard_index)
- {
- CHECK_LOCKED(this->lock);
-@@ -2078,44 +1995,30 @@ static void vdr_flush_engine(vdr_input_plugin_t *this,
- return;
- }
-
-+ if (this->is_paused)
-+ LOGMSG("WARNING: called suspend_demuxer in paused mode !");
-+
- /* reset speed */
-+ reset_scr_tuning(this);
- if(xine_get_param(this->stream, XINE_PARAM_FINE_SPEED) <= 0) {
- LOGMSG("vdr_flush_engine: playback is paused <0>");
- xine_set_param(this->stream, XINE_PARAM_FINE_SPEED, XINE_FINE_SPEED_NORMAL);
- }
-
-- /* suspend demuxer */
-- suspend_demuxer(this);
-+ pthread_mutex_unlock(&this->lock);
-
-- reset_scr_tuning(this);
-+ _x_demux_seek(this->stream, 0, 0, 1);
-+ pthread_mutex_lock(&this->lock);
-
-- /* reset speed again (adjust_realtime_speed might have set pause) */
-- if(xine_get_param(this->stream, XINE_PARAM_FINE_SPEED) <= 0) {
-- LOGMSG("vdr_flush_engine: playback is paused <1>");
-- xine_set_param(this->stream, XINE_PARAM_FINE_SPEED, XINE_FINE_SPEED_NORMAL);
-- }
--
--#if 0
-- _x_demux_flush_engine (this->stream);
-- /* warning: after clearing decoders fifos an absolute discontinuity
-- * indication must be sent. relative discontinuities are likely
-- * to cause "jumps" on metronom.
-- */
--#else
-- this->stream->demux_plugin->seek (this->stream->demux_plugin,
-- 0, 0, this->stream->demux_thread_running);
--#endif
--
- #if XINE_VERSION_CODE < 10104
- /* disabled _x_demux_control_start as it causes alsa output driver to exit now and then ... */
- #else
- _x_demux_control_start(this->stream);
- #endif
-+
-+reset_scr_tuning(this);
- this->stream_start = 1;
- this->I_frames = this->B_frames = this->P_frames = 0;
-- this->discard_index = discard_index;
--
-- resume_demuxer(this);
- }
-
- static int set_deinterlace_method(vdr_input_plugin_t *this, const char *method_name)
-@@ -2327,13 +2230,14 @@ static void select_spu_channel(xine_stream_t *stream,
- if (channel == SPU_CHANNEL_NONE) {
- /* re-enable overlay for VDR OSD ... */
- if (stream->video_out) {
-- pthread_mutex_lock (&stream->frontend_lock);
-- stream->xine->port_ticket->acquire (stream->xine->port_ticket, 0);
--
-- stream->video_out->enable_ovl (stream->video_out, 1);
-+ //pthread_mutex_lock (&stream->frontend_lock);
-
-- stream->xine->port_ticket->release (stream->xine->port_ticket, 0);
-- pthread_mutex_unlock (&stream->frontend_lock);
-+ if (_x_lock_port_rewiring(stream->xine, 100)) {
-+ stream->video_out->enable_ovl (stream->video_out, 1);
-+ _x_unlock_port_rewiring(stream->xine);
-+ }
-+
-+ //pthread_mutex_unlock (&stream->frontend_lock);
- }
- }
- }
-@@ -2957,12 +2861,13 @@ static int vdr_plugin_flush(vdr_input_plugin_t *this,
- return 1;
- }
-
-- this->class->xine->port_ticket->acquire(this->class->xine->port_ticket, 1);
-- result = MAX(0, pool->size(pool)) +
-- MAX(0, buffer->size(buffer)) +
-- this->stream->video_out->get_property(this->stream->video_out,
-- VO_PROP_BUFS_IN_FIFO);
-- this->class->xine->port_ticket->release(this->class->xine->port_ticket, 1);
-+ if (_x_lock_port_rewiring(this->class->xine, 100)) {
-+ result = MAX(0, pool->size(pool)) +
-+ MAX(0, buffer->size(buffer)) +
-+ this->stream->video_out->get_property(this->stream->video_out,
-+ VO_PROP_BUFS_IN_FIFO);
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
-
- put_control_buf(buffer, pool, BUF_CONTROL_FLUSH_DECODER);
- put_control_buf(buffer, pool, BUF_CONTROL_NOP);
-@@ -2985,12 +2890,14 @@ static int vdr_plugin_flush(vdr_input_plugin_t *this,
- &pool->buffer_pool_mutex, &abstime);
- pthread_mutex_unlock(&pool->buffer_pool_mutex);
-
-- this->class->xine->port_ticket->acquire(this->class->xine->port_ticket, 1);
-- result = MAX(0, pool->size(pool)) +
-- MAX(0, buffer->size(buffer)) +
-- this->stream->video_out->get_property(this->stream->video_out,
-- VO_PROP_BUFS_IN_FIFO);
-- this->class->xine->port_ticket->release(this->class->xine->port_ticket, 1);
-+ result = 0;
-+ if (_x_lock_port_rewiring(this->class->xine, 100)) {
-+ result = MAX(0, pool->size(pool)) +
-+ MAX(0, buffer->size(buffer)) +
-+ this->stream->video_out->get_property(this->stream->video_out,
-+ VO_PROP_BUFS_IN_FIFO);
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
- }
-
- TRACE("vdr_plugin_flush returns %d (%d+%d used, %d frames)\n", result,
-@@ -4775,7 +4682,6 @@ static buf_element_t *preprocess_buf(vdr_input_plugin_
- this->block_buffer->fifo_size,
- this->stream->video_fifo->fifo_size);
- } else {
-- vdr_x_demux_control_newpts(this->stream, 0, BUF_FLAG_SEEK);
- queue_blank_yv12(this);
- }
- pthread_mutex_unlock(&this->lock);
-@@ -4815,9 +4721,7 @@ static buf_element_t *preprocess_buf(vdr_input_plugin_
- /* First packet ? */
- if (this->stream_start) {
- this->stream_start = 0;
-- pthread_mutex_lock (&this->stream->first_frame_lock);
-- this->stream->first_frame_flag = 2;
-- pthread_mutex_unlock (&this->stream->first_frame_lock);
-+ _x_trigger_relaxed_frame_drop_mode(this->stream);
-
- memset(&this->scr_buf, 0, sizeof(this->scr_buf));
-
-@@ -4900,7 +4804,9 @@ static void handle_disconnect(vdr_input_plugin_t *this
- reset_trick_speed(this);
- this->live_mode = 0;
- reset_scr_tuning(this);
-+#if XINE_VERSION_CODE < 10209
- this->stream->emergency_brake = 1;
-+#endif
-
- this->control_running = 0;
- errno = ENOTCONN;
-@@ -5869,11 +5775,12 @@ static int vdr_plugin_open_net (input_plugin_t *this_g
- return 0;
- }
-
-- this->class->xine->port_ticket->acquire(this->class->xine->port_ticket, 1);
-- if(!(this->stream->video_out->get_capabilities(this->stream->video_out) &
-- VO_CAP_UNSCALED_OVERLAY))
-- LOGMSG("WARNING: Video output driver reports it does not support unscaled overlays !");
-- this->class->xine->port_ticket->release(this->class->xine->port_ticket, 1);
-+ if (_x_lock_port_rewiring(this->class->xine, 0)) {
-+ if(!(this->stream->video_out->get_capabilities(this->stream->video_out) &
-+ VO_CAP_UNSCALED_OVERLAY))
-+ LOGMSG("WARNING: Video output driver reports it does not support unscaled overlays !");
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
-
- this->threads_initialized = 1;
- return 1;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c
deleted file mode 100644
index 31261ecf2560..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xineliboutput.c.orig 2012-05-11 07:37:27 UTC
-+++ b/xineliboutput.c
-@@ -104,7 +104,7 @@ const char cmdLineHelp[] =
- " fbfe (framebuffer)\n"
- " none (only remote frontends)\n"
- " -r PORT --remote=PORT Listen PORT for remote clients\n"
--" (default "LISTEN_PORT_S")\n"
-+" (default " LISTEN_PORT_S ")\n"
- " none or 0 disables remote mode\n"
- " Also local interface address can be specified:\n"
- " --remote=<ip>:<port> (default is all interfaces)\n"
diff --git a/multimedia/vdr-plugin-xineliboutput/pkg-descr b/multimedia/vdr-plugin-xineliboutput/pkg-descr
deleted file mode 100644
index db5eaa6e4a69..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Xineliboutput-plugin
-
-X11 and Linux framebuffer front-end for VDR.
-Plugin displays video and OSD in X/Xv/XvMC/VAAPI/VDPAU window,
-Linux framebuffer/DirectFB/vidixfb or DXR3 card.
-
-Support for local and remote frontends.
-
-Built-in image and media player supports playback of most known
-media files (avi/mp3/divx/jpeg/...), DVDs and radio/video streams
-(http, rtsp, ...) directly from VDR.
-
-FreeBSD Note: If you want to use VAAPI/VDPAU make sure the ffmpeg
-and libxine ports are (re)built with the corresponding knobs turned on!
-(make config in their port dirs.)
diff --git a/multimedia/vdr-plugin-xineliboutput/pkg-plist b/multimedia/vdr-plugin-xineliboutput/pkg-plist
deleted file mode 100644
index 7d8ea7facd84..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/pkg-plist
+++ /dev/null
@@ -1,19 +0,0 @@
-bin/vdr-fbfe
-bin/vdr-sxfe
-%%XINE_PLUGINSDIR%%/xineplug_inp_xvdr.so
-%%XINE_PLUGINSDIR%%/post/xineplug_post_autocrop.so
-%%XINE_PLUGINSDIR%%/post/xineplug_post_swscale.so
-%%XINE_PLUGINSDIR%%/post/xineplug_post_audiochannel.so
-lib/vdr/libvdr-xineliboutput.so.%%APIVERSION%%
-lib/vdr/libxineliboutput-sxfe.so.1.0.90-cvs
-@sample etc/vdr/plugins/xineliboutput/allowed_hosts.conf.sample
-@dir(%%VDR_USER%%,%%VDR_GROUP%%) etc/vdr/plugins/xineliboutput
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/zh_TW/LC_MESSAGES/vdr-xineliboutput.mo
diff --git a/multimedia/vdr-plugin-xvdr/Makefile b/multimedia/vdr-plugin-xvdr/Makefile
deleted file mode 100644
index 8aa50c1e800f..000000000000
--- a/multimedia/vdr-plugin-xvdr/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-PORTNAME= vdr-plugin-xvdr
-PORTVERSION= 0.9.5
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/nox/
-DISTNAME= pipelka-${PORTNAME}-xvdr-${PORTVERSION}-0-g${GITHASH}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - XVDR server plugin
-WWW= https://github.com/pipelka/vdr-plugin-xvdr
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-GITHASH= e4cab47
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/pipelka-${PORTNAME}-${GITHASH}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-xvdr/distinfo b/multimedia/vdr-plugin-xvdr/distinfo
deleted file mode 100644
index 7709619875d0..000000000000
--- a/multimedia/vdr-plugin-xvdr/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 791de7fea6b8fd355a38041b5d660b5f09a3fe7221c4cdfa86624f8ad2d8d6f3
-SIZE (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 62582
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e b/multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e
deleted file mode 100644
index 1e1939e3b0ee..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e
+++ /dev/null
@@ -1,75 +0,0 @@
-commit 81bde12cd5d36a5bb0f1bc5791977b58cc34f91e
-Author: Alexander Pipelka <alexander.pipelka@gmail.com>
-Date: Mon Dec 19 10:30:16 2011 +0100
-
- wait until streaming stopped before switching to a new channel, thanks Juergen Lock
-
-diff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c
-index ced735e..8078454 100644
---- a/src/xvdr/xvdrclient.c
-+++ b/src/xvdr/xvdrclient.c
-@@ -72,6 +72,7 @@ static uint32_t recid2uid(const char* recid)
- }
-
- cMutex cXVDRClient::m_timerLock;
-+cMutex cXVDRClient::m_switchLock;
-
- cXVDRClient::cXVDRClient(int fd, unsigned int id, const char *ClientAdr)
- {
-@@ -183,6 +184,7 @@ void cXVDRClient::Action(void)
-
- bool cXVDRClient::StartChannelStreaming(const cChannel *channel, uint32_t timeout)
- {
-+ cMutexLock lock(&m_switchLock);
- m_Streamer = new cLiveStreamer(timeout);
- m_Streamer->SetLanguage(m_LanguageIndex, m_LangStreamType);
-
-@@ -192,12 +194,10 @@ bool cXVDRClient::StartChannelStreaming(const cChannel *channel, uint32_t timeou
-
- void cXVDRClient::StopChannelStreaming()
- {
-+ cMutexLock lock(&m_switchLock);
-+ delete m_Streamer;
-+ m_Streamer = NULL;
- m_isStreaming = false;
-- if (m_Streamer)
-- {
-- delete m_Streamer;
-- m_Streamer = NULL;
-- }
- }
-
- void cXVDRClient::TimerChange(const cTimer *Timer, eTimerChange Change)
-@@ -640,8 +640,7 @@ bool cXVDRClient::processChannelStream_Open() /* OPCODE 20 */
- if(timeout == 0)
- timeout = XVDRServerConfig.stream_timeout;
-
-- if (m_isStreaming)
-- StopChannelStreaming();
-+ StopChannelStreaming();
-
- Channels.Lock(false);
- const cChannel *channel = NULL;
-@@ -679,9 +678,7 @@ bool cXVDRClient::processChannelStream_Open() /* OPCODE 20 */
-
- bool cXVDRClient::processChannelStream_Close() /* OPCODE 21 */
- {
-- if (m_isStreaming)
-- StopChannelStreaming();
--
-+ StopChannelStreaming();
- return true;
- }
-
-diff --git a/src/xvdr/xvdrclient.h b/src/xvdr/xvdrclient.h
-index e602c70..99bae64 100644
---- a/src/xvdr/xvdrclient.h
-+++ b/src/xvdr/xvdrclient.h
-@@ -64,6 +64,7 @@ private:
- uint32_t m_protocolVersion;
- cMutex m_msgLock;
- static cMutex m_timerLock;
-+ static cMutex m_switchLock;
- int m_compressionLevel;
- int m_LanguageIndex;
- eStreamType m_LangStreamType;
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-Makefile b/multimedia/vdr-plugin-xvdr/files/patch-Makefile
deleted file mode 100644
index 559f7a28f8e6..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -114,5 +114,4 @@ clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
- install:
-- @install -d ../../man
-- @install README ../../man/$(PLUGIN).man
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-rofafor b/multimedia/vdr-plugin-xvdr/files/patch-rofafor
deleted file mode 100644
index 059881585f56..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-rofafor
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/src/live/livepatfilter.c b/src/live/livepatfilter.c
-index e811c8c..f1b94fd 100644
---- a/src/live/livepatfilter.c
-+++ b/src/live/livepatfilter.c
-@@ -447,7 +447,7 @@ void cLivePatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Le
- }
- }
-
-- m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel->GetChannelID(), m_Streamer->m_Priority, m_Streamer->m_Pids);
-+ m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel, m_Streamer->m_Priority, m_Streamer->m_Pids);
- m_Streamer->m_Device->AttachReceiver(m_Streamer->m_Receiver);
- INFOLOG("Currently unknown new streams found, requesting stream change");
- m_Streamer->RequestStreamChange();
-diff --git a/src/live/livereceiver.c b/src/live/livereceiver.c
-index 34f5ba8..528f65a 100644
---- a/src/live/livereceiver.c
-+++ b/src/live/livereceiver.c
-@@ -27,10 +27,12 @@
- #include "livereceiver.h"
- #include "livestreamer.h"
-
--cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids)
-- : cReceiver(ChannelID, Priority, 0, Pids)
-+cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids)
-+ : cReceiver(Channel, Priority)
- , m_Streamer(Streamer)
- {
-+ AddPid(0);
-+ AddPids(Pids);
- DEBUGLOG("Starting live receiver");
- }
-
-diff --git a/src/live/livereceiver.h b/src/live/livereceiver.h
-index 8d23522..2ccd8bf 100644
---- a/src/live/livereceiver.h
-+++ b/src/live/livereceiver.h
-@@ -42,7 +42,7 @@ protected:
- virtual void Receive(uchar *Data, int Length);
-
- public:
-- cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids);
-+ cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids);
- virtual ~cLiveReceiver();
- };
-
-diff --git a/src/live/livestreamer.c b/src/live/livestreamer.c
-index a2d6826..6bafc02 100644
---- a/src/live/livestreamer.c
-+++ b/src/live/livestreamer.c
-@@ -406,7 +406,7 @@ bool cLiveStreamer::StreamChannel(const cChannel *channel, int priority, cxSocke
- if (m_NumStreams > 0 && m_Socket)
- {
- DEBUGLOG("Creating new live Receiver");
-- m_Receiver = new cLiveReceiver(this, m_Channel->GetChannelID(), m_Priority, m_Pids);
-+ m_Receiver = new cLiveReceiver(this, m_Channel, m_Priority, m_Pids);
- m_PatFilter = new cLivePatFilter(this, m_Channel);
- m_Device->AttachReceiver(m_Receiver);
- m_Device->AttachFilter(m_PatFilter);
-diff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c
-index cea1af2..931ea61 100644
---- a/src/xvdr/xvdrclient.c
-+++ b/src/xvdr/xvdrclient.c
-@@ -1572,7 +1572,7 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */
- }
- else
- {
-- recordingStart = recording->start;
-+ recordingStart = recording->Start();
- }
- }
- DEBUGLOG("GRI: RC: recordingStart=%lu recordingDuration=%i", recordingStart, recordingDuration);
-@@ -1584,10 +1584,10 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */
- m_resp->add_U32(recordingDuration);
-
- // priority
-- m_resp->add_U32(recording->priority);
-+ m_resp->add_U32(recording->Priority());
-
- // lifetime
-- m_resp->add_U32(recording->lifetime);
-+ m_resp->add_U32(recording->Lifetime());
-
- // channel_name
- m_resp->add_String(recording->Info()->ChannelName() ? m_toUTF8.Convert(recording->Info()->ChannelName()) : "");
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c b/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c
deleted file mode 100644
index 3df5c8b9f7d8..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/live/livestreamer.c
-+++ b/src/live/livestreamer.c
-@@ -29,7 +29,12 @@
- #include <map>
- #include <vdr/remux.h>
- #include <vdr/channels.h>
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define __cpu_to_be64 htobe64
-+#else
- #include <asm/byteorder.h>
-+#endif
-
- #include "config/config.h"
- #include "net/cxsocket.h"
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c
deleted file mode 100644
index 801f0dfe6bbf..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/net/cxsocket.c
---- b/src/net/cxsocket.c
-@@ -48,6 +48,10 @@
- #include "config/config.h"
- #include "cxsocket.h"
-
-+#ifndef MSG_MORE
-+#define MSG_MORE 0
-+#endif
-+
- cxSocket::~cxSocket()
- {
- close();
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h
deleted file mode 100644
index 4474e309e03d..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/net/cxsocket.h
-+++ b/src/net/cxsocket.h
-@@ -29,6 +29,9 @@
- #ifndef __CXSOCKET_H
- #define __CXSOCKET_H
-
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include <inttypes.h>
- #include <sys/types.h>
- #include <sys/socket.h>
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c
deleted file mode 100644
index 0c3476f630db..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/src/net/requestpacket.c
-+++ b/src/net/requestpacket.c
-@@ -28,7 +28,13 @@
- #include <stdint.h>
- #include <string.h>
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define __cpu_to_be64 htobe64
-+#define __be64_to_cpu be64toh
-+#else
- #include <asm/byteorder.h>
-+#endif
-
- #include "xvdr/xvdrcommand.h"
- #include "config/config.h"
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c
deleted file mode 100644
index d5ccd711aaf2..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/net/responsepacket.c
-+++ b/src/net/responsepacket.c
-@@ -31,7 +31,12 @@
- #include <arpa/inet.h>
- #include <stdlib.h>
- #include <string.h>
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define __cpu_to_be64 htobe64
-+#else
- #include <asm/byteorder.h>
-+#endif
- #include <zlib.h>
-
- #include "config/config.h"
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c b/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c
deleted file mode 100644
index 4e8fb5a6feb0..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/src/recordings/recplayer.c
-+++ b/src/recordings/recplayer.c
-@@ -36,6 +36,10 @@
-
- #include "config/config.h"
-
-+#ifndef O_NOATIME
-+#define O_NOATIME 0
-+#endif
-+
- cRecPlayer::cRecPlayer(cRecording* rec)
- {
- m_file = -1;
-@@ -220,8 +220,10 @@ int cRecPlayer::getBlock(unsigned char*
- return 0;
- }
-
-+#ifndef __FreeBSD__
- // Tell linux not to bother keeping the data in the FS cache
- posix_fadvise(m_file, filePosition, bytes_read, POSIX_FADV_DONTNEED);
-+#endif
-
- // divide and conquer
- if(bytes_read < amount) {
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c b/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c
deleted file mode 100644
index 17767e1f682d..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/src/xvdr/xvdrserver.c
-+++ b/src/xvdr/xvdrserver.c
-@@ -156,6 +156,7 @@ void cXVDRServer::NewClientConnected(int
- int val = 1;
- setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val));
-
-+#ifndef __FreeBSD__
- val = 30;
- setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &val, sizeof(val));
-
-@@ -167,6 +168,10 @@ void cXVDRServer::NewClientConnected(int
-
- val = 1;
- setsockopt(fd, SOL_TCP, TCP_NODELAY, &val, sizeof(val));
-+#else
-+ val = 1;
-+ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val));
-+#endif
-
- INFOLOG("Client with ID %d connected: %s", m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf));
- cXVDRClient *connection = new cXVDRClient(fd, m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf));
diff --git a/multimedia/vdr-plugin-xvdr/pkg-descr b/multimedia/vdr-plugin-xvdr/pkg-descr
deleted file mode 100644
index 5b08f91f7f60..000000000000
--- a/multimedia/vdr-plugin-xvdr/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-VDR plugin to handle XBMC clients.
-The vdr-plugin-xvdr is able to handle serveral XBMC clients connecting
-via the XVDR addon.
diff --git a/multimedia/vdr-plugin-xvdr/pkg-plist b/multimedia/vdr-plugin-xvdr/pkg-plist
deleted file mode 100644
index c38720e5dac2..000000000000
--- a/multimedia/vdr-plugin-xvdr/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/vdr/libvdr-xvdr.so.%%APIVERSION%%
-@sample etc/vdr/plugins/xvdr/allowed_hosts.conf.sample
diff --git a/multimedia/vdr-plugins/Makefile b/multimedia/vdr-plugins/Makefile
deleted file mode 100644
index d9de4bf715fc..000000000000
--- a/multimedia/vdr-plugins/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-PORTNAME= vdr-plugins
-PORTVERSION= 1.7.29
-PORTREVISION= 8
-CATEGORIES= multimedia
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - plugin metaport
-WWW= http://www.tvdr.de/
-
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-RUN_DEPENDS+= vdr:multimedia/vdr
-
-USES= metaport
-
-OPTIONS_DEFINE= CONTROL EPGSEARCH FEMON INFOSATEPG IPTV OSDPIP \
- OSDTELETEXT REELSCAN REMOTE SKINENIGMANG STREAMDEV \
- TTXTSUBS WIRBELSCAN XINELIBOUTPUT LIVE UPNP \
- SLEEPTIMER XVDR EEPG VDRMANAGER SOFTHDDEVICE \
- EXTRECMENU VNSISERVER MARKAD
-
-CONTROL_DESC= telnet control
-EPGSEARCH_DESC= EPG search
-FEMON_DESC= frontend monitor
-INFOSATEPG_DESC= infosat EPG data via satellite
-IPTV_DESC= IP television
-OSDPIP_DESC= picture-in-picture
-OSDTELETEXT_DESC= OSD teletext
-REELSCAN_DESC= Reel channelscan
-REMOTE_DESC= non-lirc remote control (experimental)
-SKINENIGMANG_DESC= Enigma-NG skin
-STREAMDEV_DESC= stream device (server and client)
-TTXTSUBS_DESC= teletext subtitle plugin
-WIRBELSCAN_DESC= Wirbelscan
-XINELIBOUTPUT_DESC= xineliboutput plugin/viewer
-LIVE_DESC= live web plugin
-UPNP_DESC= UPnP/DLNA plugin (alpha!)
-SLEEPTIMER_DESC= sleep timer plugin
-XVDR_DESC= XVDR plugin (for connecting XBMC PVR)
-EEPG_DESC= extended EPG plugin (for UK/NL/etc.)
-VDRMANAGER_DESC= plugin for VDR-Manager Android clients
-SOFTHDDEVICE_DESC= softhddevice plugin
-EXTRECMENU_DESC= extended recordings menu plugin
-VNSISERVER_DESC= VNSI server (for XBMC PVR branch - old)
-MARKAD_DESC= MarkAd plugin
-
-OPTIONS_DEFAULT= CONTROL EPGSEARCH FEMON INFOSATEPG IPTV OSDPIP \
- OSDTELETEXT REELSCAN REMOTE SKINENIGMANG STREAMDEV \
- TTXTSUBS WIRBELSCAN XINELIBOUTPUT LIVE \
- SLEEPTIMER EEPG VDRMANAGER EXTRECMENU VNSISERVER
-
-VDRDIR= ${LOCALBASE}/lib/vdr
-
-.for OPT in ${OPTIONS_DEFINE}
-. if ${OPTIONS_DEFINE:MREELSCAN} == ${OPT}
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-reelchannelscan.so.${PORTVERSION}:multimedia/vdr-plugin-reelchannelscan
-. elif ${OPTIONS_DEFINE:MSTREAMDEV} == ${OPT}
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-${OPT:tl}-server.so.${PORTVERSION}:multimedia/vdr-plugin-${OPT:tl}
-. elif ${OPTIONS_DEFINE:MLIVE} == ${OPT}
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-${OPT:tl}.so.${PORTVERSION}:www/vdr-plugin-${OPT:tl}
-. else
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-${OPT:tl}.so.${PORTVERSION}:multimedia/vdr-plugin-${OPT:tl}
-. endif
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugins/pkg-descr b/multimedia/vdr-plugins/pkg-descr
deleted file mode 100644
index 71c8311494af..000000000000
--- a/multimedia/vdr-plugins/pkg-descr
+++ /dev/null
@@ -1,18 +0,0 @@
-Preliminary port of the vdr development branch, use at your own risk! :)
-
-This is just a metaport that lets you select the plugins you want to
-install.
-
-See vdr/webcamd dvb thread(s) on the freebsd-multimedia list and the
-wiki for FreeBSD notes:
-
- http://wiki.freebsd.org/VDR
-
-Some links are also here:
-
- http://people.freebsd.org/~nox/dvb/
-
-and see these links for general vdr info:
-
- http://www.linuxtv.org/vdrwiki/index.php/Main_Page
- http://www.vdr-portal.de/
diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile
deleted file mode 100644
index 168b605108bc..000000000000
--- a/multimedia/vdr/Makefile
+++ /dev/null
@@ -1,116 +0,0 @@
-PORTNAME= vdr
-PORTVERSION= 1.7.29
-PORTREVISION= 16
-CATEGORIES= multimedia
-MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/
-DIST_SUBDIR= vdr
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - development version
-WWW= http://www.tvdr.de/
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Abandoned "work in progress" fork in 2015
-EXPIRATION_DATE=2023-06-30
-
-BUILD_DEPENDS= v4l_compat>=1.0.20120501:multimedia/v4l_compat \
- ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:x11-fonts/fontconfig
-RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:x11-fonts/fontconfig \
- xorg-fonts-truetype>=0:x11-fonts/xorg-fonts-truetype
-
-USES= cpe gettext gmake iconv:wchar_t jpeg pkgconfig shebangfix tar:bzip2
-CPE_VENDOR= tvdr
-SHEBANG_FILES= svdrpsend
-CONFDIR= ${ETCDIR}
-USE_CSTD= gnu89
-MAKE_ARGS= CC="${CC}" \
- CXX="${CXX}" \
- VDR_USER=${VDR_USER} \
- CONFDIR=${CONFDIR} \
- OSTYPE=FreeBSD \
- LIRC_DEVICE=/var/run/lirc/lircd \
- LIBDIR=../../lib \
- VDRDIR=${WRKSRC} \
- TMPDIR=/tmp \
- PREFIX=${PREFIX}
-ALL_TARGET= all plugins
-
-VDR_USER= vdr
-VDR_GROUP= vdr
-
-VIDEODIR= /video
-SUB_LIST= VIDEODIR=${VIDEODIR}
-SUB_FILES= vdr-waitdvb
-USE_RC_SUBR= vdr
-USERS= ${VDR_USER}
-GROUPS= ${VDR_GROUP}
-PLIST_SUB= VDR_USER=${VDR_USER} \
- VDR_GROUP=${VDR_GROUP}
-
-PORTDOCS= INSTALL MANUAL README HISTORY
-
-OPTIONS_DEFINE= IPTVPATCH TTXPATCH STB0899_SIGNAL DOCS NLS
-OPTIONS_DEFAULT= IPTVPATCH TTXPATCH
-OPTIONS_SUB= yes
-
-IPTVPATCH_DESC= Stops EIT scans on IPTV channels
-TTXPATCH_DESC= Support patches for teletext subtitle plugin
-STB0899_SIGNAL_DESC= STB0899 signal strength patch
-
-IPTVPATCH_EXTRA_PATCHES= ${FILESDIR}/vdr-1.7.15-disable_eitscan.patch
-
-NLS_ALL_TARGET= vdr plugins
-
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == DragonFly
-IGNORE= will not work due to lack of driver support
-.endif
-
-.if ${ARCH} == "i386"
-USE_GCC= yes
-.endif
-
-post-patch:
-# clang doesn't know -MG:
- @${REINPLACE_CMD} -e '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \
- ${WRKSRC}/Makefile ${WRKSRC}/libsi/Makefile \
- ${WRKSRC}/PLUGINS/src/*/Makefile
- @[ ! -f ${WRKSRC}/s2apiwrapper.c ] || \
- ${REINPLACE_CMD} 's/__u32/uint32_t/' ${WRKSRC}/s2apiwrapper.c
- @${SED} \
- -e '/^PREFIX/d' \
- -e 's|^\(VIDEODIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${VIDEODIR}|' \
- ${WRKSRC}/Make.config.template >${WRKSRC}/Make.config
- @${REINPLACE_CMD} -e 's|%%CONFDIR%%|${CONFDIR}|' ${WRKSRC}/vdr.1
-# We don't support this yet:
- @${RM} -r ${WRKSRC}/PLUGINS/src/dvbhddevice
-
-post-patch-TTXPATCH-on:
- @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-1
- @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-2
-
-post-patch-STB0899_SIGNAL-on:
-# This fixes signal strength display for e.g. pctv452e-based tuners.
-# (like TT S2-36?0.)
- @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/stb0899-signalstrength.patch
-
-post-install:
- @${MKDIR} ${STAGEDIR}${CONFDIR}/plugins
- ${INSTALL_DATA} ${FILESDIR}/remote.conf ${STAGEDIR}${CONFDIR}/remote.conf.sample
- for i in $$(cd ${WRKSRC} && ls *.conf); do \
- ${MV} -i ${STAGEDIR}${CONFDIR}/$$i \
- ${STAGEDIR}${CONFDIR}/$$i.sample; \
- done
- ${INSTALL_SCRIPT} ${WRKDIR}/vdr-waitdvb ${STAGEDIR}${PREFIX}/bin
-
-post-install-NLS-on:
- @(cd ${WRKSRC} && ${COPYTREE_SHARE} locale ${STAGEDIR}${PREFIX}/share/)
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr/Makefile.plugins b/multimedia/vdr/Makefile.plugins
deleted file mode 100644
index d2e4866fa325..000000000000
--- a/multimedia/vdr/Makefile.plugins
+++ /dev/null
@@ -1,58 +0,0 @@
-# this is to be included by vdr plugin ports
-
-BUILD_DEPENDS+= ${LOCALBASE}/include/linux/dvb/frontend.h:multimedia/v4l_compat
-
-BUILD_DEPENDS+= vdr:multimedia/vdr
-RUN_DEPENDS+= vdr:multimedia/vdr
-
-APIVERSION= 1.7.29
-DIST_SUBDIR= vdr
-PATCH_SUBDIR= vdr
-USES+= gettext gmake
-VDRDIR= ${LOCALBASE}/include/vdr
-VDRINCDIR= ${LOCALBASE}/include
-USE_CSTD?= gnu89
-USE_CXXSTD?= gnu++98
-MAKE_ARGS+= CC="${CC}"
-MAKE_ARGS+= CXX="${CXX}"
-MAKE_ARGS+= CXXFLAGS="${CXXFLAGS} -fPIC"
-MAKE_ARGS+= DVBDIR=${LOCALBASE}/include
-MAKE_ARGS+= VDRDIR=${VDRDIR}
-MAKE_ARGS+= VDR_USER=${VDR_USER}
-MAKE_ARGS+= INSTALL_PROGRAM="${INSTALL_PROGRAM}"
-MAKE_ARGS+= OSTYPE=FreeBSD
-MAKE_ARGS+= PREFIX=${PREFIX}
-PLUGIN?= ${PORTNAME:S/^vdr-plugin-//}
-CONFIGURE_ENV+= LOCALBASE=${LOCALBASE}
-MAKE_ENV+= LOCALBASE=${LOCALBASE}
-VDR_USER= vdr
-VDR_GROUP= vdr
-PLIST_SUB+= VDR_USER=${VDR_USER}
-PLIST_SUB+= VDR_GROUP=${VDR_GROUP}
-PLIST_SUB+= APIVERSION=${APIVERSION}
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MNLS}
-PLIST_SUB+= NLS=""
-.else
-PLIST_SUB+= NLS="@comment "
-.endif
-
-localeplist:
- @${FIND} ${WRKDIR}/locale -type f -print |${SED} 's|^.*locale/|%%NLS%%share/locale/|'
-
-post-patch-plugin:
- @${MKDIR} ${WRKDIR}/lib ${WRKDIR}/locale
- @${REINPLACE_CMD} -e 's/^\(LIBDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/lib/;' \
- -e 's/^\(LOCALEDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/locale/;' \
- -e 's/^\(VDRDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRDIR:S-/-\\\\/-g}/;" \
- -e 's/^\(VDRINCDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRINCDIR:S-/-\\\\/-g}/;" \
- -e 's/^\(BINDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${PREFIX:S-/-\\\\/-g}\/bin/;" \
- -e '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \
- ${WRKSRC}/Makefile ${VDR_PLUGIN_MAKEFILES}
-
-post-install-pluginlocales:
-.if ${PORT_OPTIONS:MNLS}
- @(cd ${WRKDIR} && ${COPYTREE_SHARE} locale ${STAGEDIR}${PREFIX}/share/)
-.endif
diff --git a/multimedia/vdr/distinfo b/multimedia/vdr/distinfo
deleted file mode 100644
index f7361dad3130..000000000000
--- a/multimedia/vdr/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-1.7.29.tar.bz2) = f734fe8f21d54944f7d8d9269de7d6e6577839ed235180f0d96eed6fe8d8212d
-SIZE (vdr/vdr-1.7.29.tar.bz2) = 784665
diff --git a/multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c b/multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c
deleted file mode 100644
index 8d33ca5b3954..000000000000
--- a/multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- PLUGINS/src/dvbsddevice/dvbsdffdevice.c.orig
-+++ PLUGINS/src/dvbsddevice/dvbsdffdevice.c
-@@ -6,12 +6,16 @@
- * $Id: dvbsdffdevice.c 2.26 2010/01/30 10:05:23 kls Exp $
- */
-
-+#include <stdint.h>
- #include "dvbsdffdevice.h"
- #include <errno.h>
- #include <limits.h>
- #include <linux/videodev2.h>
- #include <linux/dvb/audio.h>
- #include <linux/dvb/dmx.h>
-+#ifdef __FreeBSD__
-+typedef struct timespec __kernel_time_t;
-+#endif
- #include <linux/dvb/video.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
diff --git a/multimedia/vdr/files/patch-abs-types.diff b/multimedia/vdr/files/patch-abs-types.diff
deleted file mode 100644
index cfad9f2ee4e5..000000000000
--- a/multimedia/vdr/files/patch-abs-types.diff
+++ /dev/null
@@ -1,27 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -766,7 +766,7 @@ bool cDvbTuner::SetFrontend(void)
- CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, volt));
- CHECK(ioctl(fd_frontend, FE_SET_TONE, tone));
- }
-- frequency = abs(frequency); // Allow for C-band, where the frequency is less than the LOF
-+ frequency = abs((int)frequency); // Allow for C-band, where the frequency is less than the LOF
-
- // DVB-S/DVB-S2 (common parts)
- SETCMD(DTV_FREQUENCY, frequency * 1000UL);
---- remux.c.orig 2012-03-02 11:56:49.000000000 +0100
-+++ remux.c 2016-04-02 19:05:34.753289000 +0200
-@@ -890,11 +943,11 @@ int cFrameDetector::Analyze(const uchar
- uint32_t Delta = ptsValues[0];
- // determine frame info:
- if (isVideo) {
-- if (abs(Delta - 3600) <= 1)
-+ if (abs((int)Delta - 3600) <= 1)
- framesPerSecond = 25.0;
- else if (Delta % 3003 == 0)
- framesPerSecond = 30.0 / 1.001;
-- else if (abs(Delta - 1800) <= 1) {
-+ else if (abs((int)Delta - 1800) <= 1) {
- if (numFrames > 50) {
- // this is a "best guess": if there are more than 50 frames between two I-frames, we assume each "frame" actually contains a "field", so two "fields" make one "frame"
- framesPerSecond = 25.0;
diff --git a/multimedia/vdr/files/patch-c++11 b/multimedia/vdr/files/patch-c++11
deleted file mode 100644
index 48b55fa7d604..000000000000
--- a/multimedia/vdr/files/patch-c++11
+++ /dev/null
@@ -1,74 +0,0 @@
---- ci.c.orig 2012-05-29 11:13:40 UTC
-+++ ci.c
-@@ -845,9 +845,9 @@ void cCiDateTime::SendDateTime(void)
- int D = tm_gmt.tm_mday;
- int L = (M == 1 || M == 2) ? 1 : 0;
- int MJD = 14956 + D + int((Y - L) * 365.25) + int((M + 1 + L * 12) * 30.6001);
--#define DEC2BCD(d) (((d / 10) << 4) + (d % 10))
-+#define DEC2BCD(d) uint8_t(((d / 10) << 4) + (d % 10))
- struct tTime { uint16_t mjd; uint8_t h, m, s; short offset; };
-- tTime T = { mjd : htons(MJD), h : DEC2BCD(tm_gmt.tm_hour), m : DEC2BCD(tm_gmt.tm_min), s : DEC2BCD(tm_gmt.tm_sec), offset : htons(tm_loc.tm_gmtoff / 60) };
-+ tTime T = { mjd : htons(MJD), h : DEC2BCD(tm_gmt.tm_hour), m : DEC2BCD(tm_gmt.tm_min), s : DEC2BCD(tm_gmt.tm_sec), offset : short(htons(tm_loc.tm_gmtoff / 60)) };
- bool OldDumpTPDUDataTransfer = DumpTPDUDataTransfer;
- DumpTPDUDataTransfer &= DumpDateTime;
- if (DumpDateTime)
---- dvbsubtitle.c.orig 2012-05-08 08:17:17 UTC
-+++ dvbsubtitle.c
-@@ -851,7 +851,7 @@ int cDvbSubtitleConverter::ConvertFragments(const ucha
- if (Length > PayloadOffset + SubstreamHeaderLength) {
- int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : 0;
- if (pts)
-- dbgconverter("Converter PTS: %"PRId64"\n", pts);
-+ dbgconverter("Converter PTS: %" PRId64 "\n", pts);
- const uchar *data = Data + PayloadOffset + SubstreamHeaderLength; // skip substream header
- int length = Length - PayloadOffset - SubstreamHeaderLength; // skip substream header
- if (ResetSubtitleAssembler)
-@@ -887,7 +887,7 @@ int cDvbSubtitleConverter::Convert(const uchar *Data,
- if (Length > PayloadOffset) {
- int64_t pts = PesGetPts(Data);
- if (pts)
-- dbgconverter("Converter PTS: %"PRId64"\n", pts);
-+ dbgconverter("Converter PTS: %" PRId64 "\n", pts);
- const uchar *data = Data + PayloadOffset;
- int length = Length - PayloadOffset;
- if (length > 3) {
-@@ -946,7 +946,7 @@ void cDvbSubtitleConverter::Action(void)
- if (AssertOsd()) {
- sb->Draw(osd);
- Timeout.Set(sb->Timeout() * 1000);
-- dbgconverter("PTS: %"PRId64" STC: %"PRId64" (%"PRId64") timeout: %d\n", sb->Pts(), cDevice::PrimaryDevice()->GetSTC(), Delta, sb->Timeout());
-+ dbgconverter("PTS: %" PRId64 " STC: %" PRId64 " (%" PRId64 ") timeout: %d\n", sb->Pts(), cDevice::PrimaryDevice()->GetSTC(), Delta, sb->Timeout());
- }
- bitmaps->Del(sb);
- }
-@@ -1044,7 +1044,7 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar
- page->SetTimeout(pageTimeout);
- page->SetState(bs.GetBits(2));
- bs.SkipBits(2); // reserved
-- dbgpages("Update page id %d version %d pts %"PRId64" timeout %d state %d\n", pageId, page->Version(), page->Pts(), page->Timeout(), page->State());
-+ dbgpages("Update page id %d version %d pts %" PRId64 " timeout %d state %d\n", pageId, page->Version(), page->Pts(), page->Timeout(), page->State());
- while (!bs.IsEOF()) {
- cSubtitleRegion *region = page->GetRegionById(bs.GetBits(8), true);
- bs.SkipBits(8); // reserved
---- recording.c.orig 2012-06-09 13:57:30 UTC
-+++ recording.c
-@@ -1643,7 +1643,7 @@ cIndexFile::cIndexFile(const char *FileName, bool Reco
- delta = int(buf.st_size % sizeof(tIndexTs));
- if (delta) {
- delta = sizeof(tIndexTs) - delta;
-- esyslog("ERROR: invalid file size (%"PRId64") in '%s'", buf.st_size, *fileName);
-+ esyslog("ERROR: invalid file size (%" PRId64 ") in '%s'", buf.st_size, *fileName);
- }
- last = int((buf.st_size + delta) / sizeof(tIndexTs) - 1);
- if (!Record && last >= 0) {
---- remote.c.orig 2012-01-16 16:57:00 UTC
-+++ remote.c
-@@ -124,7 +124,7 @@ bool cRemote::PutMacro(eKeys Key)
- bool cRemote::Put(uint64_t Code, bool Repeat, bool Release)
- {
- char buffer[32];
-- snprintf(buffer, sizeof(buffer), "%016"PRIX64, Code);
-+ snprintf(buffer, sizeof(buffer), "%016" PRIX64, Code);
- return Put(buffer, Repeat, Release);
- }
-
diff --git a/multimedia/vdr/files/patch-clang40 b/multimedia/vdr/files/patch-clang40
deleted file mode 100644
index 37e10282f78d..000000000000
--- a/multimedia/vdr/files/patch-clang40
+++ /dev/null
@@ -1,11 +0,0 @@
---- recording.c.orig 2012-06-09 13:57:30 UTC
-+++ recording.c
-@@ -2075,7 +2075,7 @@ cUnbufferedFile *cFileName::SetOffset(in
- }
- // found a non existing file suffix
- }
-- if (Open() >= 0) {
-+ if (Open()) {
- if (!record && Offset >= 0 && file && file->Seek(Offset, SEEK_SET) != Offset) {
- LOG_ERROR_STR(fileName);
- return NULL;
diff --git a/multimedia/vdr/files/patch-device.c b/multimedia/vdr/files/patch-device.c
deleted file mode 100644
index 408700c70686..000000000000
--- a/multimedia/vdr/files/patch-device.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- device.c.orig
-+++ device.c
-@@ -65,7 +65,7 @@ bool cDeviceHook::DeviceProvidesTranspon
- #define MIN_PRE_1_3_19_PRIVATESTREAM 10
-
- int cDevice::numDevices = 0;
--int cDevice::useDevice = 0;
-+uint64_t cDevice::useDevice = 0;
- int cDevice::nextCardIndex = 0;
- int cDevice::currentChannel = 1;
- cDevice *cDevice::device[MAXDEVICES] = { NULL };
diff --git a/multimedia/vdr/files/patch-device.h b/multimedia/vdr/files/patch-device.h
deleted file mode 100644
index 027c5a8fbeaa..000000000000
--- a/multimedia/vdr/files/patch-device.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- device.h.orig
-+++ device.h
-@@ -25,7 +25,7 @@
- #include "thread.h"
- #include "tools.h"
-
--#define MAXDEVICES 16 // the maximum number of devices in the system
-+#define MAXDEVICES 64 // the maximum number of devices in the system
- #define MAXPIDHANDLES 64 // the maximum number of different PIDs per device
- #define MAXRECEIVERS 16 // the maximum number of receivers per device
- #define MAXVOLUME 255
-@@ -105,7 +105,7 @@ class cDevice : public cThread {
- friend class cDeviceHook;
- private:
- static int numDevices;
-- static int useDevice;
-+ static uint64_t useDevice;
- static cDevice *device[MAXDEVICES];
- static cDevice *primaryDevice;
- static cDevice *avoidDevice;
diff --git a/multimedia/vdr/files/patch-dvbdevice.c b/multimedia/vdr/files/patch-dvbdevice.c
deleted file mode 100644
index 99252462694c..000000000000
--- a/multimedia/vdr/files/patch-dvbdevice.c
+++ /dev/null
@@ -1,55 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -7,6 +7,7 @@
- * $Id: dvbdevice.c 2.71 2012/05/09 08:33:59 kls Exp $
- */
-
-+#include <stdint.h>
- #include "dvbdevice.h"
- #include <ctype.h>
- #include <errno.h>
-@@ -579,7 +580,7 @@ int cDvbTuner::GetSignalQuality(void) co
- while (1) {
- if (ioctl(fd_frontend, FE_READ_SNR, &Snr) != -1)
- break;
-- if (errno == EOPNOTSUPP) {
-+ if (errno == EOPNOTSUPP || errno == ENXIO) {
- Snr = 0xFFFF;
- HasSnr = false;
- break;
-@@ -592,7 +593,7 @@ int cDvbTuner::GetSignalQuality(void) co
- while (1) {
- if (ioctl(fd_frontend, FE_READ_BER, &Ber) != -1)
- break;
-- if (errno == EOPNOTSUPP) {
-+ if (errno == EOPNOTSUPP || errno == ENXIO) {
- Ber = 0;
- HasBer = false;
- break;
-@@ -605,7 +606,7 @@ int cDvbTuner::GetSignalQuality(void) co
- while (1) {
- if (ioctl(fd_frontend, FE_READ_UNCORRECTED_BLOCKS, &Unc) != -1)
- break;
-- if (errno == EOPNOTSUPP) {
-+ if (errno == EOPNOTSUPP || errno == ENXIO) {
- Unc = 0;
- HasUnc = false;
- break;
-@@ -732,7 +733,7 @@ bool cDvbTuner::SetFrontend(void)
- if (const cDiseqc *diseqc = Diseqcs.Get(device->CardIndex() + 1, channel.Source(), frequency, dtp.Polarization(), &scr)) {
- frequency -= diseqc->Lof();
- if (diseqc != lastDiseqc || diseqc->IsScr()) {
-- if (GetBondedMaster() == this) {
-+ if (!bondedTuner || bondedMaster) {
- ExecuteDiseqc(diseqc, &frequency);
- if (frequency == 0)
- return false;
-@@ -758,7 +759,7 @@ bool cDvbTuner::SetFrontend(void)
- tone = SEC_TONE_ON;
- }
- int volt = (dtp.Polarization() == 'V' || dtp.Polarization() == 'R') ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18;
-- if (GetBondedMaster() != this) {
-+ if (bondedTuner && !bondedMaster) {
- tone = SEC_TONE_OFF;
- volt = SEC_VOLTAGE_13;
- }
diff --git a/multimedia/vdr/files/patch-dvbdevice.h b/multimedia/vdr/files/patch-dvbdevice.h
deleted file mode 100644
index 6f8297393951..000000000000
--- a/multimedia/vdr/files/patch-dvbdevice.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- dvbdevice.h.orig
-+++ dvbdevice.h
-@@ -18,7 +18,7 @@
- #error VDR requires Linux DVB driver API version 5.3 or higher!
- #endif
-
--#define MAXDVBDEVICES 8
-+#define MAXDVBDEVICES 63
- #define MAXDELIVERYSYSTEMS 8
-
- #define DEV_VIDEO "/dev/video"
diff --git a/multimedia/vdr/files/patch-libsi_util.c b/multimedia/vdr/files/patch-libsi_util.c
deleted file mode 100644
index 8a68685edff1..000000000000
--- a/multimedia/vdr/files/patch-libsi_util.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libsi/util.c.orig 2006-02-18 11:17:50 UTC
-+++ libsi/util.c
-@@ -266,7 +266,7 @@ u_int32_t CRC32::crc32 (const char *d, int len, u_int3
-
- u_int32_t CRC32::crc32 (const char *d, int len, u_int32_t crc)
- {
-- register int i;
-+ int i;
- const unsigned char *u=(unsigned char*)d; // Saves '& 0xff'
-
- for (i=0; i<len; i++)
diff --git a/multimedia/vdr/files/patch-menu.c b/multimedia/vdr/files/patch-menu.c
deleted file mode 100644
index 69ddfd64d14f..000000000000
--- a/multimedia/vdr/files/patch-menu.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- menu.c.orig
-+++ menu.c
-@@ -2938,6 +2938,8 @@ void cMenuSetupLNB::Setup(void)
- for (int i = 0; i < cDevice::NumDevices(); i++) {
- if (cDevice::GetDevice(i)->ProvidesSource(cSource::stSat))
- Add(new cMenuEditIntItem(cString::sprintf(tr("Setup.LNB$Device %d connected to sat cable"), i + 1), &satCableNumbers.Array()[i], 0, NumSatDevices, tr("Setup.LNB$own")));
-+ else
-+ satCableNumbers.Array()[i] = 0;
- }
- }
-
diff --git a/multimedia/vdr/files/patch-menuitems.c b/multimedia/vdr/files/patch-menuitems.c
deleted file mode 100644
index 45fe6f2dbede..000000000000
--- a/multimedia/vdr/files/patch-menuitems.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- menuitems.c.orig
-+++ menuitems.c
-@@ -7,6 +7,7 @@
- * $Id: menuitems.c 2.6 2010/02/16 14:44:35 kls Exp $
- */
-
-+#include <stdint.h>
- #include "menuitems.h"
- #include <ctype.h>
- #include <math.h>
diff --git a/multimedia/vdr/files/patch-plugin.c b/multimedia/vdr/files/patch-plugin.c
deleted file mode 100644
index 46497c90fe98..000000000000
--- a/multimedia/vdr/files/patch-plugin.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- plugin.c.orig
-+++ plugin.c
-@@ -198,11 +198,14 @@ bool cDll::Load(bool Log)
- }
- handle = dlopen(fileName, RTLD_NOW);
- const char *error = dlerror();
-- if (!error) {
-+ if (handle) {
- void *(*creator)(void);
- creator = (void *(*)(void))dlsym(handle, "VDRPluginCreator");
-- if (!(error = dlerror()))
-+ error = dlerror();
-+ if (creator) {
- plugin = (cPlugin *)creator();
-+ error = NULL;
-+ }
- }
- if (!error) {
- if (plugin && args) {
diff --git a/multimedia/vdr/files/patch-receiver.c b/multimedia/vdr/files/patch-receiver.c
deleted file mode 100644
index c37c79d10f67..000000000000
--- a/multimedia/vdr/files/patch-receiver.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- receiver.c.orig
-+++ receiver.c
-@@ -36,10 +36,10 @@ cReceiver::cReceiver(const cChannel *Cha
- cReceiver::~cReceiver()
- {
- if (device) {
-- const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!";
-+ const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will abort now!";
- esyslog("%s", msg);
- fprintf(stderr, "%s\n", msg);
-- *(char *)0 = 0; // cause a segfault
-+ abort();
- }
- }
-
diff --git a/multimedia/vdr/files/patch-tools.c b/multimedia/vdr/files/patch-tools.c
deleted file mode 100644
index d99421e11781..000000000000
--- a/multimedia/vdr/files/patch-tools.c
+++ /dev/null
@@ -1,38 +0,0 @@
---- tools.c.orig
-+++ tools.c
-@@ -1201,9 +1201,35 @@ cReadLine::~cReadLine()
- free(buffer);
- }
-
-+#ifdef __FreeBSD__
-+#if __FreeBSD_version > 800000
-+#define HAVE_GETLINE
-+#endif
-+#else
-+#define HAVE_GETLINE
-+#endif
-+
- char *cReadLine::Read(FILE *f)
- {
-+#ifndef HAVE_GETLINE
-+ size_t n;
-+
-+ if (!buffer) {
-+ if (!(buffer = (char *)malloc(size = 4096)))
-+ return NULL;
-+ }
-+ if (!fgets(buffer, size, f))
-+ return NULL;
-+ while ((n = strlen(buffer)) >= size - 1 && buffer[n - 1] != '\n') {
-+ if (!(buffer = (char *)realloc(buffer, size * 2)))
-+ return NULL;
-+ size *= 2;
-+ if (!fgets(buffer + n, size - n, f))
-+ break;
-+ }
-+#else
- int n = getline(&buffer, &size, f);
-+#endif
- if (n > 0) {
- n--;
- if (buffer[n] == '\n') {
diff --git a/multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates b/multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates
deleted file mode 100644
index f6c788f5803a..000000000000
--- a/multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates
+++ /dev/null
@@ -1,10 +0,0 @@
---- pat.c.orig 2010-06-06 19:11:15.000000000 +0300
-+++ pat.c 2010-06-06 20:42:47.000000000 +0300
-@@ -490,6 +490,7 @@
- }
- if (Setup.UpdateChannels >= 2) {
- Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
-+ if (!cSource::IsType(Channel->Source(), 'I'))
- Channel->SetCaIds(CaDescriptors->CaIds());
- Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
- }
diff --git a/multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD b/multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD
deleted file mode 100644
index 583db5ab79e4..000000000000
--- a/multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD
+++ /dev/null
@@ -1,1222 +0,0 @@
-Index: Make.config.template
-@@ -8,6 +8,11 @@
- #
- # $Id: Make.config.template 2.8 2012/03/20 11:20:13 kls Exp $
-
-+OSTYPE ?= $(shell uname -s)
-+ifeq ($(OSTYPE),FreeBSD)
-+FREEBSD=1
-+endif
-+
- ### The C compiler and options:
-
- CC = gcc
-@@ -28,11 +33,22 @@ PREFIX = $(DESTDIR)/usr/local
- MANDIR = $(PREFIX)/man
- BINDIR = $(PREFIX)/bin
-
-+ifdef FREEBSD
-+# you have to set DVBDIR to a valid path!!!
-+# you will need extra patches for DVBDIR!!!
-+#DVBDIR = /usr/local/include
-+LOCDIR = $(PREFIX)/share/locale
-+PLUGINDIR = ./PLUGINS
-+PLUGINLIBDIR = $(PREFIX)/lib/vdr
-+VIDEODIR = /video
-+CONFDIR = $(PREFIX)/etc/vdr
-+else
- LOCDIR = ./locale
- PLUGINDIR = ./PLUGINS
- PLUGINLIBDIR = $(PLUGINDIR)/lib
- VIDEODIR = /video
- CONFDIR = $(VIDEODIR)
-+endif
-
- ### The remote control:
-
-@@ -46,3 +62,7 @@ LIRC_DEVICE = /var/run/lirc/lircd
- ifdef DVBDIR
- INCLUDES += -I$(DVBDIR)/include
- endif
-+
-+ifdef FREEBSD
-+INCLUDES += -I$(VDRDIR)/include -I/usr/local/include
-+endif
-Index: Makefile
-@@ -8,6 +8,11 @@
-
- .DELETE_ON_ERROR:
-
-+OSTYPE ?= $(shell uname -s)
-+ifeq ($(OSTYPE),FreeBSD)
-+FREEBSD=1
-+endif
-+
- CC ?= gcc
- CFLAGS ?= -g -O3 -Wall
-
-@@ -21,7 +26,11 @@ MANDIR ?= $(PREFIX)/share/man
- BINDIR ?= $(PREFIX)/bin
- INCDIR ?= $(PREFIX)/include
- LOCDIR ?= ./locale
-+ifdef FREEBSD
-+LIBS = -ljpeg -lpthread -lrt -lutil -lintl -liconv $(shell pkg-config --libs freetype2 fontconfig)
-+else
- LIBS = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig)
-+endif
- INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig)
-
- PLUGINDIR= ./PLUGINS
-@@ -150,7 +159,11 @@ i18n: $(I18Nmsgs)
-
- install-i18n:
- @mkdir -p $(DESTDIR)$(LOCDIR)
-+ifdef FREEBSD
-+ @(cd $(LOCALEDIR); cp -R * $(DESTDIR)$(LOCDIR))
-+else
- @(cd $(LOCALEDIR); cp -r --parents * $(DESTDIR)$(LOCDIR))
-+endif
-
- # The 'include' directory (for plugins):
-
-@@ -189,7 +202,11 @@ install: install-bin install-conf instal
-
- install-bin: vdr
- @mkdir -p $(DESTDIR)$(BINDIR)
-+ifdef FREEBSD
-+ @cp -f vdr svdrpsend $(DESTDIR)$(BINDIR)
-+else
- @cp --remove-destination vdr svdrpsend $(DESTDIR)$(BINDIR)
-+endif
-
- # Configuration files:
-
-@@ -212,13 +229,18 @@ install-doc:
-
- install-plugins: plugins
- @mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
-+ifdef FREEBSD
-+ @cp -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
-+else
- @cp --remove-destination $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
-+endif
-
- # Includes:
-
- install-includes: include-dir
- @mkdir -p $(DESTDIR)$(INCDIR)
- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @cp Make.config Make.global $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
-Index: channels.c
-@@ -29,7 +29,12 @@ tChannelID tChannelID::FromString(const
- int tid;
- int sid;
- int rid = 0;
-+#ifdef __FreeBSD__
-+ sourcebuf = MALLOC(char, 10);
-+ int fields = sscanf(s, "%9[^-]-%d-%d-%d-%d", sourcebuf, &nid, &tid, &sid, &rid);
-+#else
- int fields = sscanf(s, "%a[^-]-%d-%d-%d-%d", &sourcebuf, &nid, &tid, &sid, &rid);
-+#endif
- if (fields == 4 || fields == 5) {
- int source = cSource::FromString(sourcebuf);
- free(sourcebuf);
-@@ -554,7 +559,18 @@ bool cChannel::Parse(const char *s)
- char *apidbuf = NULL;
- char *tpidbuf = NULL;
- char *caidbuf = NULL;
-+#ifdef __FreeBSD__
-+ namebuf = MALLOC(char, 256);
-+ sourcebuf = MALLOC(char, 10);
-+ parambuf = MALLOC(char, 256);
-+ vpidbuf = MALLOC(char, 256);
-+ apidbuf = MALLOC(char, 256);
-+ tpidbuf = MALLOC(char, 256);
-+ caidbuf = MALLOC(char, 256);
-+ int fields = sscanf(s, "%255[^:]:%d :%255[^:]:%255[^:] :%d :%255[^:]:%255[^:]:%255[^:]:%255[^:]:%d :%d :%d :%d ", namebuf, &frequency, parambuf, sourcebuf, &srate, vpidbuf, apidbuf, tpidbuf, caidbuf, &sid, &nid, &tid, &rid);
-+#else
- int fields = sscanf(s, "%a[^:]:%d :%a[^:]:%a[^:] :%d :%a[^:]:%a[^:]:%a[^:]:%a[^:]:%d :%d :%d :%d ", &namebuf, &frequency, &parambuf, &sourcebuf, &srate, &vpidbuf, &apidbuf, &tpidbuf, &caidbuf, &sid, &nid, &tid, &rid);
-+#endif
- if (fields >= 9) {
- if (fields == 9) {
- // allow reading of old format
-Index: ci.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/ci.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- ci.c 2010/02/17 10:14:44 1.1.1.2
-+++ ci.c 2010/02/17 10:46:55 1.3
-@@ -10,7 +10,11 @@
- #include "ci.h"
- #include <ctype.h>
- #include <linux/dvb/ca.h>
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <netinet/in.h>
- #include <poll.h>
- #include <string.h>
-Index: config.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/config.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.4
-diff -u -r1.1.1.4 -r1.4
---- config.c 2010/06/07 09:07:28 1.1.1.4
-+++ config.c 2010/06/07 09:12:57 1.4
-@@ -10,6 +10,9 @@
- #include "config.h"
- #include <ctype.h>
- #include <stdlib.h>
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include "device.h"
- #include "i18n.h"
- #include "interface.h"
-Index: diseqc.c
-@@ -114,7 +114,14 @@ bool cDiseqc::Parse(const char *s)
- return true;
- bool result = false;
- char *sourcebuf = NULL;
-+#ifdef __FreeBSD__
-+ sourcebuf = MALLOC(char, 10);
-+ if (commands == NULL)
-+ commands = MALLOC(char, 256);
-+ int fields = sscanf(s, "%9[^ ] %d %c %d %255[^\n]", sourcebuf, &slof, &polarization, &lof, commands);
-+#else
- int fields = sscanf(s, "%a[^ ] %d %c %d %a[^\n]", &sourcebuf, &slof, &polarization, &lof, &commands);
-+#endif
- if (fields == 4)
- commands = NULL; //XXX Apparently sscanf() doesn't work correctly if the last %a argument results in an empty string
- if (4 <= fields && fields <= 5) {
-Index: eit.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/eit.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- eit.c 2010/06/07 09:07:27 1.1.1.3
-+++ eit.c 2010/06/07 09:12:57 1.5
-@@ -339,10 +339,15 @@
- if (diff > 2) {
- mutex.Lock();
- if (abs(diff - lastDiff) < 3) {
-+#ifdef __FreeBSD__
-+ isyslog("system time would have changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim);
-+ esyslog("stime() not available on FreeBSD, maybe use adjtime()?");
-+#else
- if (stime(&sattim) == 0)
- isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim);
- else
- esyslog("ERROR while setting system time: %m");
-+#endif
- }
- lastDiff = diff;
- mutex.Unlock();
-Index: epg.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/epg.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- epg.c 2010/03/01 09:42:48 1.1.1.3
-+++ epg.c 2010/03/01 09:58:06 1.5
-@@ -31,7 +31,13 @@
- bool tComponent::FromString(const char *s)
- {
- unsigned int Stream, Type;
-+#ifdef __FreeBSD__
-+ if (description == NULL)
-+ description = MALLOC(char, 256);
-+ int n = sscanf(s, "%X %02X %7s %255[^\n]", &Stream, &Type, language, description); // 7 = MAXLANGCODE2 - 1
-+#else
- int n = sscanf(s, "%X %02X %7s %a[^\n]", &Stream, &Type, language, &description); // 7 = MAXLANGCODE2 - 1
-+#endif
- if (n != 4 || isempty(description)) {
- free(description);
- description = NULL;
-Index: font.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/font.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- font.c 2010/10/19 20:28:48 1.1.1.3
-+++ font.c 2010/10/19 20:32:58 1.5
-@@ -383,7 +383,11 @@
- {
- if (!FontNames->Size()) {
- FcInit();
-+#ifdef __FreeBSD__
-+ FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, (char *)NULL);
-+#else
- FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, NULL);
-+#endif
- FcPattern *pat = FcPatternCreate();
- FcPatternAddBool(pat, FC_SCALABLE, FcTrue);
- if (Monospaced)
-Index: i18n.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/i18n.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- i18n.h 2010/02/17 10:14:45 1.1.1.2
-+++ i18n.h 2010/02/17 10:46:55 1.3
-@@ -48,7 +48,11 @@
- ///< have an actual locale installed. The rest are just dummy entries
- ///< to allow having three letter language codes for other languages
- ///< that have no actual locale on this system.
-+#ifdef __FreeBSD__
-+const char *I18nTranslate(const char *s, const char *Plugin = NULL) __format_arg(1);
-+#else
- const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1);
-+#endif
- ///< Translates the given string (with optional Plugin context) into
- ///< the current language. If no translation is available, the original
- ///< string will be returned.
-Index: menu.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/menu.c,v
-retrieving revision 1.1.1.6
-retrieving revision 1.7
-diff -u -r1.1.1.6 -r1.7
-Index: menuitems.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/menuitems.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.5
-diff -u -r1.1.1.4 -r1.5
---- menuitems.c 2010/06/07 09:07:27 1.1.1.4
-+++ menuitems.c 2010/06/07 09:12:57 1.5
-@@ -838,7 +838,11 @@
- struct tm tm_r;
- localtime_r(value, &tm_r);
- strftime(buf, DATEBUFFERSIZE, "%Y-%m-%d ", &tm_r);
-+#ifdef __FreeBSD__
-+ strcat(buf, WeekDayNameReal(tm_r.tm_wday));
-+#else
- strcat(buf, WeekDayName(tm_r.tm_wday));
-+#endif
- }
- else
- *buf = 0;
-Index: pat.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/pat.c,v
-retrieving revision 1.1.1.5
-retrieving revision 1.6
-diff -u -r1.1.1.5 -r1.6
---- pat.c 2010/10/19 20:28:48 1.1.1.5
-+++ pat.c 2010/10/19 20:32:58 1.6
-@@ -8,7 +8,11 @@
- */
-
- #include "pat.h"
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include "channels.h"
- #include "libsi/section.h"
- #include "libsi/descriptor.h"
-Index: recording.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/recording.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- recording.c 2010/03/16 15:18:58 1.1.1.3
-+++ recording.c 2010/03/16 15:21:05 1.5
-@@ -1825,7 +1829,11 @@
- // Search for a PAT packet from the end of the file:
- cPatPmtParser PatPmtParser;
- sprintf(pFileNumber, RECORDFILESUFFIXTS, Number);
-+#ifdef __FreeBSD__
-+ int fd = open(fileName, O_RDONLY, DEFFILEMODE);
-+#else
- int fd = open(fileName, O_RDONLY | O_LARGEFILE, DEFFILEMODE);
-+#endif
- if (fd >= 0) {
- off_t pos = lseek(fd, -TS_SIZE, SEEK_END);
- while (pos >= 0) {
-@@ -1866,14 +1874,22 @@
- int BlockingFlag = blocking ? 0 : O_NONBLOCK;
- if (record) {
- dsyslog("recording to '%s'", fileName);
-+#ifdef __FreeBSD__
-+ file = OpenVideoFile(fileName, O_RDWR | O_CREAT | BlockingFlag);
-+#else
- file = OpenVideoFile(fileName, O_RDWR | O_CREAT | O_LARGEFILE | BlockingFlag);
-+#endif
- if (!file)
- LOG_ERROR_STR(fileName);
- }
- else {
- if (access(fileName, R_OK) == 0) {
- dsyslog("playing '%s'", fileName);
-+#ifdef __FreeBSD__
-+ file = cUnbufferedFile::Create(fileName, O_RDONLY | BlockingFlag);
-+#else
- file = cUnbufferedFile::Create(fileName, O_RDONLY | O_LARGEFILE | BlockingFlag);
-+#endif
- if (!file)
- LOG_ERROR_STR(fileName);
- }
-Index: skins.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/skins.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- skins.c 2010/02/17 10:14:45 1.1.1.2
-+++ skins.c 2010/02/17 10:46:55 1.3
-@@ -11,6 +11,20 @@
- #include "interface.h"
- #include "status.h"
-
-+#if defined(__FreeBSD__) && __FreeBSD_version < 1000029
-+/* XXX Implement strchrnul for FreeBSD. */
-+static char *
-+strchrnul (const char *s, int c_in)
-+{
-+ char c = c_in;
-+ while (*s && (*s != c))
-+ s++;
-+
-+ return (char *) s;
-+}
-+#endif
-+
-+
- // --- cSkinQueuedMessage ----------------------------------------------------
-
- class cSkinQueuedMessage : public cListObject {
-Index: sources.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/sources.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.5
-diff -u -r1.1.1.4 -r1.5
---- sources.c 2010/03/16 15:18:58 1.1.1.4
-+++ sources.c 2010/03/16 15:21:05 1.5
-@@ -31,7 +31,14 @@
- bool cSource::Parse(const char *s)
- {
- char *codeBuf = NULL;
-+#ifdef __FreeBSD__
-+ codeBuf = MALLOC(char, 10);
-+ if (description == NULL)
-+ description = MALLOC(char, 256);
-+ if (2 == sscanf(s, "%9[^ ] %255[^\n]", codeBuf, description))
-+#else
- if (2 == sscanf(s, "%a[^ ] %a[^\n]", &codeBuf, &description))
-+#endif
- code = FromString(codeBuf);
- free(codeBuf);
- return code != stNone && description && *description;
-Index: svdrp.c
-@@ -40,6 +40,12 @@
- #include "tools.h"
- #include "videodir.h"
-
-+/* FreeBSD has it's own version of isnumber(),
-+ but VDR's version is incompatible */
-+#ifdef __FreeBSD__
-+#undef isnumber
-+#endif
-+
- // --- cSocket ---------------------------------------------------------------
-
- cSocket::cSocket(int Port, int Queue)
-@@ -124,6 +130,23 @@ int cSocket::Accept(void)
- }
- else if (errno != EINTR && errno != EAGAIN)
- LOG_ERROR;
-+#ifdef __FreeBSD__
-+ // Linux' accept() doesn't inherit O_NONBLOCK... (this fixes
-+ // cSVDRP::Send() failing due to EAGAIN when vdradmin-am downloads EPG.)
-+ if (newsock >= 0) {
-+ // make it blocking:
-+ int oldflags = fcntl(newsock, F_GETFL, 0);
-+ if (oldflags < 0) {
-+ LOG_ERROR;
-+ return -1;
-+ }
-+ oldflags &= ~O_NONBLOCK;
-+ if (fcntl(newsock, F_SETFL, oldflags) < 0) {
-+ LOG_ERROR;
-+ return -1;
-+ }
-+ }
-+#endif
- return newsock;
- }
- return -1;
-Index: themes.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/themes.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- themes.c 2010/02/17 10:14:44 1.1.1.2
-+++ themes.c 2010/02/17 10:46:55 1.3
-@@ -47,7 +47,11 @@
- // FileName is ok
- if (SetName) {
- free(name);
-+#ifdef __FreeBSD__
-+ name = (char *)strndup(n, e - n);
-+#else
- name = strndup(n, e - n);
-+#endif
- }
- }
- else
-Index: thread.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/thread.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.6
-diff -u -r1.1.1.2 -r1.6
---- thread.c 2010/02/17 10:14:45 1.1.1.2
-+++ thread.c 2010/02/24 08:41:13 1.6
-@@ -9,15 +9,22 @@
-
- #include "thread.h"
- #include <errno.h>
-+#ifdef __FreeBSD__
-+#include <pthread_np.h>
-+#include <stdlib.h>
-+#else
- #include <linux/unistd.h>
- #include <malloc.h>
-+#endif
- #include <stdarg.h>
- #include <stdlib.h>
- #include <sys/resource.h>
- #include <sys/syscall.h>
- #include <sys/time.h>
- #include <sys/wait.h>
-+#ifndef __FreeBSD__
- #include <sys/prctl.h>
-+#endif
- #include <unistd.h>
- #include "tools.h"
-
-@@ -143,7 +150,9 @@
- {
- pthread_rwlockattr_t attr;
- pthread_rwlockattr_init(&attr);
-+#ifndef __FreeBSD__
- pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP);
-+#endif
- pthread_rwlock_init(&rwlock, &attr);
- }
-
-@@ -179,7 +188,11 @@
- locked = 0;
- pthread_mutexattr_t attr;
- pthread_mutexattr_init(&attr);
-+#ifdef __FreeBSD__
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
-+#else
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
-+#endif
- pthread_mutex_init(&mutex, &attr);
- }
-
-@@ -228,8 +241,12 @@
-
- void cThread::SetIOPriority(int Priority)
- {
-+#ifdef __FreeBSD__
-+ esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD");
-+#else
- if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class
- LOG_ERROR;
-+#endif
- }
-
- void cThread::SetDescription(const char *Description, ...)
-@@ -335,7 +352,11 @@
-
- tThreadId cThread::ThreadId(void)
- {
-+#ifdef __FreeBSD__
-+ return reinterpret_cast<long>(::pthread_self());
-+#else
- return syscall(__NR_gettid);
-+#endif
- }
-
- void cThread::SetMainThreadId(void)
-@@ -461,7 +482,11 @@
- int MaxPossibleFileDescriptors = getdtablesize();
- for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++)
- close(i); //close all dup'ed filedescriptors
-+#ifdef __FreeBSD__
-+ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) {
-+#else
- if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
-+#endif
- LOG_ERROR_STR(Command);
- close(fd[1 - iopipe]);
- _exit(-1);
-@@ -544,7 +569,11 @@
- int MaxPossibleFileDescriptors = getdtablesize();
- for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++)
- close(i); //close all dup'ed filedescriptors
-+#ifdef __FreeBSD__
-+ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) {
-+#else
- if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
-+#endif
- LOG_ERROR_STR(Command);
- _exit(-1);
- }
-Index: thread.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/thread.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- thread.h 2010/02/17 10:14:44 1.1.1.2
-+++ thread.h 2010/02/17 10:46:55 1.3
-@@ -13,6 +13,9 @@
- #include <pthread.h>
- #include <stdio.h>
- #include <sys/types.h>
-+#ifdef __FreeBSD__
-+#include <signal.h>
-+#endif
-
- class cCondWait {
- private:
-Index: timers.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/timers.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- timers.c 2010/02/17 10:14:45 1.1.1.2
-+++ timers.c 2010/02/17 10:46:55 1.3
-@@ -23,6 +23,12 @@
- // format characters in order to allow any number of blanks after a numeric
- // value!
-
-+/* FreeBSD has it's own version of isnumber(),
-+ but VDR's version is incompatible */
-+#ifdef __FreeBSD__
-+#undef isnumber
-+#endif
-+
- // --- cTimer ----------------------------------------------------------------
-
- cTimer::cTimer(bool Instant, bool Pause, cChannel *Channel)
-@@ -292,7 +298,15 @@
- s = s2;
- }
- bool result = false;
-+#ifdef __FreeBSD__
-+ channelbuffer = MALLOC(char, 256);
-+ daybuffer = MALLOC(char, 256);
-+ filebuffer = MALLOC(char, 256);
-+ aux = MALLOC(char, 256);
-+ if (8 <= sscanf(s, "%u :%255[^:]:%255[^:]:%d :%d :%d :%d :%255[^:\n]:%255[^\n]", &flags, channelbuffer, daybuffer, &start, &stop, &priority, &lifetime, filebuffer, aux)) {
-+#else
- if (8 <= sscanf(s, "%u :%a[^:]:%a[^:]:%d :%d :%d :%d :%a[^:\n]:%a[^\n]", &flags, &channelbuffer, &daybuffer, &start, &stop, &priority, &lifetime, &filebuffer, &aux)) {
-+#endif
- ClrFlags(tfRecording);
- if (aux && !*skipspace(aux)) {
- free(aux);
-Index: tools.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/tools.c,v
-retrieving revision 1.1.1.5
-retrieving revision 1.8
-diff -u -r1.1.1.5 -r1.8
---- tools.c 2010/10/19 20:28:48 1.1.1.5
-+++ tools.c 2010/10/19 20:32:58 1.8
-@@ -21,13 +21,24 @@
- #include <stdarg.h>
- #include <stdlib.h>
- #include <sys/time.h>
-+#ifdef __FreeBSD__
-+#include <sys/param.h>
-+#include <sys/mount.h>
-+#else
- #include <sys/vfs.h>
-+#endif
- #include <time.h>
- #include <unistd.h>
- #include <utime.h>
- #include "i18n.h"
- #include "thread.h"
-
-+/* FreeBSD has it's own version of isnumber(),
-+ but VDR's version is incompatible */
-+#ifdef __FreeBSD__
-+#undef isnumber
-+#endif
-+
- int SysLogLevel = 3;
-
- #define MAXSYSLOGBUF 256
-@@ -493,6 +504,18 @@
- {
- if (!FileName)
- return NULL;
-+#ifdef __FreeBSD__
-+ char *resolved_path = NULL;
-+ resolved_path = MALLOC(char, PATH_MAX+1);
-+ if (realpath(FileName, resolved_path) == NULL)
-+ {
-+ if (errno != ENOENT) // some other error occurred
-+ LOG_ERROR_STR(FileName);
-+ else // file doesn't exist
-+ resolved_path = strdup(FileName);
-+ }
-+ return resolved_path;
-+#else
- char *TargetName = canonicalize_file_name(FileName);
- if (!TargetName) {
- if (errno == ENOENT) // file doesn't exist
-@@ -501,6 +524,7 @@
- LOG_ERROR_STR(FileName);
- }
- return TargetName;
-+#endif
- }
-
- bool SpinUpDisk(const char *FileName)
-@@ -517,7 +541,11 @@
- int f = open(buf, O_WRONLY | O_CREAT, DEFFILEMODE);
- // O_SYNC doesn't work on all file systems
- if (f >= 0) {
-+#ifdef __FreeBSD__
-+ if (fsync(f) < 0)
-+#else
- if (fdatasync(f) < 0)
-+#endif
- LOG_ERROR_STR(*buf);
- close(f);
- remove(buf);
-@@ -920,7 +952,11 @@
- return cString(buffer, true);
- }
-
-+#ifdef __FreeBSD__
-+cString WeekDayNameReal(int WeekDay)
-+#else
- cString WeekDayName(int WeekDay)
-+#endif
- {
- char buffer[16];
- WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0!
-@@ -938,10 +974,18 @@
- cString WeekDayName(time_t t)
- {
- struct tm tm_r;
-+#ifdef __FreeBSD__
-+ return WeekDayNameReal(localtime_r(&t, &tm_r)->tm_wday);
-+#else
- return WeekDayName(localtime_r(&t, &tm_r)->tm_wday);
-+#endif
- }
-
-+#ifdef __FreeBSD__
-+cString WeekDayNameFullReal(int WeekDay)
-+#else
- cString WeekDayNameFull(int WeekDay)
-+#endif
- {
- WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0!
- switch (WeekDay) {
-@@ -959,7 +1003,11 @@
- cString WeekDayNameFull(time_t t)
- {
- struct tm tm_r;
-+#ifdef __FreeBSD__
-+ return WeekDayNameFullReal(localtime_r(&t, &tm_r)->tm_wday);
-+#else
- return WeekDayNameFull(localtime_r(&t, &tm_r)->tm_wday);
-+#endif
- }
-
- cString DayDateTime(time_t t)
-@@ -969,7 +1017,11 @@
- time(&t);
- struct tm tm_r;
- tm *tm = localtime_r(&t, &tm_r);
-+#ifdef __FreeBSD__
-+ snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayNameReal(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min);
-+#else
- snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min);
-+#endif
- return buffer;
- }
-
-@@ -988,7 +1040,11 @@
- char buf[32];
- struct tm tm_r;
- tm *tm = localtime_r(&t, &tm_r);
-+#ifdef __FreeBSD__
-+ char *p = stpcpy(buf, WeekDayNameReal(tm->tm_wday));
-+#else
- char *p = stpcpy(buf, WeekDayName(tm->tm_wday));
-+#endif
- *p++ = ' ';
- strftime(p, sizeof(buf) - (p - buf), "%d.%m.%Y", tm);
- return buf;
-@@ -1315,7 +1371,11 @@
- if (!IsOpen()) {
- f = FileDes;
- if (f >= 0) {
-+#ifdef __FreeBSD__
-+ if ((uint)f < FD_SETSIZE) {
-+#else
- if (f < FD_SETSIZE) {
-+#endif
- if (f >= maxFiles)
- maxFiles = f + 1;
- if (!files[f])
-@@ -1356,7 +1416,11 @@
- if (files[i])
- FD_SET(i, &set);
- }
-+#ifdef __FreeBSD__
-+ if (0 <= FileDes && (uint)FileDes < FD_SETSIZE && !files[FileDes])
-+#else
- if (0 <= FileDes && FileDes < FD_SETSIZE && !files[FileDes])
-+#endif
- FD_SET(FileDes, &set); // in case we come in with an arbitrary descriptor
- if (TimeoutMs == 0)
- TimeoutMs = 10; // load gets too heavy with 0
-@@ -1451,7 +1515,9 @@
-
- // --- cUnbufferedFile -------------------------------------------------------
-
-+#ifndef __FreeBSD__
- #define USE_FADVISE
-+#endif
-
- #define WRITE_BUFFER KILOBYTE(800)
-
-@@ -1512,11 +1578,13 @@
- readahead = ra;
- }
-
-+#ifdef USE_FADVISE
- int cUnbufferedFile::FadviseDrop(off_t Offset, off_t Len)
- {
- // rounding up the window to make sure that not PAGE_SIZE-aligned data gets freed.
- return posix_fadvise(fd, Offset - (FADVGRAN - 1), Len + (FADVGRAN - 1) * 2, POSIX_FADV_DONTNEED);
- }
-+#endif
-
- off_t cUnbufferedFile::Seek(off_t Offset, int Whence)
- {
-Index: tools.h
-@@ -27,6 +27,12 @@
- #include <sys/stat.h>
- #include <sys/types.h>
-
-+#ifdef __FreeBSD__
-+#include <sys/param.h>
-+typedef int (*__compar_fn_t) (__const void *, __const void *);
-+#undef isnumber
-+#endif
-+
- typedef unsigned char uchar;
-
- extern int SysLogLevel;
-@@ -227,12 +233,20 @@ bool SpinUpDisk(const char *FileName);
- void TouchFile(const char *FileName);
- time_t LastModifiedTime(const char *FileName);
- off_t FileSize(const char *FileName); ///< returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist)
-+#ifdef __FreeBSD__
-+cString WeekDayNameReal(int WeekDay);
-+#else
- cString WeekDayName(int WeekDay);
-+#endif
- ///< Converts the given WeekDay (0=Sunday, 1=Monday, ...) to a three letter
- ///< day name.
- cString WeekDayName(time_t t);
- ///< Converts the week day of the given time to a three letter day name.
-+#ifdef __FreeBSD__
-+cString WeekDayNameFullReal(int WeekDay);
-+#else
- cString WeekDayNameFull(int WeekDay);
-+#endif
- ///< Converts the given WeekDay (0=Sunday, 1=Monday, ...) to a full
- ///< day name.
- cString WeekDayNameFull(time_t t);
-Index: vdr.c
---- vdr.c
-+++ vdr.c
-@@ -32,8 +32,13 @@
- #include <pwd.h>
- #include <signal.h>
- #include <stdlib.h>
-+#ifndef __FreeBSD__
- #include <sys/capability.h>
- #include <sys/prctl.h>
-+#else
-+#include <sys/types.h>
-+#include <login_cap.h>
-+#endif
- #include <termios.h>
- #include <unistd.h>
- #include "audio.h"
-@@ -107,12 +112,15 @@ static bool SetUser(const char *UserName
- fprintf(stderr, "vdr: cannot set user id %u: %s\n", (unsigned int)user->pw_uid, strerror(errno));
- return false;
- }
-+#ifndef __FreeBSD__
- if (UserDump && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0)
- fprintf(stderr, "vdr: warning - cannot set dumpable: %s\n", strerror(errno));
-+#endif
- }
- return true;
- }
-
-+#ifndef __FreeBSD__
- static bool DropCaps(void)
- {
- // drop all capabilities except selected ones
-@@ -139,6 +147,7 @@ static bool SetKeepCaps(bool On)
- }
- return true;
- }
-+#endif
-
- static void SignalHandler(int signum)
- {
-@@ -400,14 +409,18 @@ int main(int argc, char *argv[])
- if (VdrUser && geteuid() == 0) {
- StartedAsRoot = true;
- if (strcmp(VdrUser, "root")) {
-+#ifndef __FreeBSD__
- if (!SetKeepCaps(true))
- return 2;
-+#endif
- if (!SetUser(VdrUser, UserDump))
- return 2;
-+#ifndef __FreeBSD__
- if (!SetKeepCaps(false))
- return 2;
- if (!DropCaps())
- return 2;
-+#endif
- }
- }
-
-@@ -556,6 +569,25 @@ int main(int argc, char *argv[])
- CodeSet++; // skip the dot
- }
- }
-+#ifdef __FreeBSD__
-+ // If we are started without a locale query login.conf(5) for
-+ // a lang setting
-+
-+ if (!CodeSet || !strcmp(CodeSet, "US-ASCII")) {
-+ struct passwd *User = getpwnam(VdrUser);
-+ login_cap_t *Lc = login_getuserclass(User);
-+ if (!Lc)
-+ Lc = login_getpwclass(User);
-+ if (Lc) {
-+ const char *Lang = login_getcapstr(Lc, "lang", NULL, NULL);
-+ if (Lang && setlocale(LC_CTYPE, Lang)) {
-+ CodeSet = nl_langinfo(CODESET);
-+ setenv("LANG", Lang, 1);
-+ }
-+ login_close(Lc);
-+ }
-+ }
-+#endif
- if (CodeSet) {
- bool known = SI::SetSystemCharacterTable(CodeSet);
- isyslog("codeset is '%s' - %s", CodeSet, known ? "known" : "unknown");
-Index: PLUGINS/src/svdrpdemo/svdrpdemo.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/PLUGINS/src/svdrpdemo/svdrpdemo.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.4
-diff -u -r1.1.1.2 -r1.4
-Index: libsi/headers.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/libsi/headers.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- libsi/headers.h 2010/02/17 10:14:45 1.1.1.2
-+++ libsi/headers.h 2010/02/17 10:46:56 1.3
-@@ -17,7 +17,11 @@
- #ifndef LIBSI_HEADERS_H
- #define LIBSI_HEADERS_H
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#else
- #include <endian.h>
-+#endif
-
- namespace SI {
-
-Index: libsi/si.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/libsi/si.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.7
-diff -u -r1.1.1.4 -r1.7
---- libsi/si.c 2010/03/01 09:42:49 1.1.1.4
-+++ libsi/si.c 2010/03/01 09:58:08 1.7
-@@ -13,7 +13,9 @@
- #include "si.h"
- #include <errno.h>
- #include <iconv.h>
-+#ifndef __FreeBSD__
- #include <malloc.h>
-+#endif
- #include <stdlib.h> // for broadcaster stupidity workaround
- #include <string.h>
- #include "descriptor.h"
---- PLUGINS/src/dvbsddevice/Makefile.orig
-+++ PLUGINS/src/dvbsddevice/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/hello/Makefile.orig
-+++ PLUGINS/src/hello/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/osddemo/Makefile.orig
-+++ PLUGINS/src/osddemo/Makefile
-@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -73,7 +73,11 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/pictures/Makefile.orig
-+++ PLUGINS/src/pictures/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/servicedemo/Makefile.orig
-+++ PLUGINS/src/servicedemo/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -75,11 +75,19 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN1).so: $(PLUGIN1).o
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN2).so: $(PLUGIN2).o
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/skincurses/Makefile.orig
-+++ PLUGINS/src/skincurses/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/status/Makefile.orig
-+++ PLUGINS/src/status/Makefile
-@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -73,7 +73,11 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/svdrpdemo/Makefile.orig
-+++ PLUGINS/src/svdrpdemo/Makefile
-@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -73,7 +73,11 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/epgtableid0/Makefile.orig
-+++ PLUGINS/src/epgtableid0/Makefile
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/rcu/Makefile.orig
-+++ PLUGINS/src/rcu/Makefile
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff b/multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff
deleted file mode 100644
index 8b7a485ff532..000000000000
--- a/multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- recording.c 2012/06/09 13:57:30 2.57
-+++ recording.c 2012/07/15 10:47:58
-@@ -831,8 +831,8 @@
- {
- char **sb = (RecordingsSortMode == rsmName) ? &sortBufferName : &sortBufferTime;
- if (!*sb) {
-- char *s = (RecordingsSortMode == rsmName) ? strdup(FileName() + strlen(VideoDirectory) + 1)
-- : StripEpisodeName(strdup(FileName() + strlen(VideoDirectory) + 1));
-+ char *s = (RecordingsSortMode == rsmName) ? strdup(FileName() + strlen(VideoDirectory))
-+ : StripEpisodeName(strdup(FileName() + strlen(VideoDirectory)));
- strreplace(s, '/', 'a'); // some locales ignore '/' when sorting
- int l = strxfrm(NULL, s, 0) + 1;
- *sb = MALLOC(char, l);
diff --git a/multimedia/vdr/files/patch-vdr.1 b/multimedia/vdr/files/patch-vdr.1
deleted file mode 100644
index cd1218871d49..000000000000
--- a/multimedia/vdr/files/patch-vdr.1
+++ /dev/null
@@ -1,11 +0,0 @@
---- vdr.1.orig
-+++ vdr.1
-@@ -45,7 +45,7 @@ Send Dolby Digital audio to stdin of com
- .TP
- .BI \-c\ dir ,\ \-\-config= dir
- Read config files from directory \fIdir\fR
--(default is to read them from the video directory).
-+(default is to read them from %%CONFDIR%% on this installation.)
- .TP
- .B \-d, \-\-daemon
- Run in daemon mode (implies \-\-no\-kbd).
diff --git a/multimedia/vdr/files/patch-z-Makefile b/multimedia/vdr/files/patch-z-Makefile
deleted file mode 100644
index 2a066f5f6a87..000000000000
--- a/multimedia/vdr/files/patch-z-Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: Makefile
-@@ -112,7 +112,7 @@ vdr: $(OBJS) $(SILIB)
- # The libsi library:
-
- $(SILIB):
-- $(MAKE) -C $(LSIDIR) all
-+ $(MAKE) -C $(LSIDIR) all CC=${CC} CXX=${CXX}
-
- # pkg-config file:
-
-@@ -186,7 +186,7 @@ plugins: include-dir
- noapiv="$$noapiv $$i";\
- continue;\
- fi;\
-- $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
-+ $(MAKE) -C "$(PLUGINDIR)/src/$$i" all CC=${CC} CXX=${CXX} || failed="$$failed $$i";\
- done;\
- if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
- if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
-@@ -197,7 +197,7 @@ clean-plugins:
-
- # Install the files:
-
--install: install-bin install-conf install-doc install-plugins install-i18n install-includes install-pc
-+install: install-bin install-conf install-doc install-plugins install-includes install-pc
-
- # VDR binary:
-
-@@ -212,7 +212,6 @@ endif
- # Configuration files:
-
- install-conf:
-- @mkdir -p $(DESTDIR)$(VIDEODIR)
- @if [ ! -d $(DESTDIR)$(CONFDIR) ]; then\
- mkdir -p $(DESTDIR)$(CONFDIR);\
- cp *.conf $(DESTDIR)$(CONFDIR);\
-@@ -228,7 +227,7 @@ install-doc:
-
- # Plugins:
-
--install-plugins: plugins
-+install-plugins: #plugins
- @mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
- ifdef FREEBSD
- @cp -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
diff --git a/multimedia/vdr/files/patch-z-cutter.c b/multimedia/vdr/files/patch-z-cutter.c
deleted file mode 100644
index 39a4a731af12..000000000000
--- a/multimedia/vdr/files/patch-z-cutter.c
+++ /dev/null
@@ -1,61 +0,0 @@
---- cutter.c.orig
-+++ cutter.c
-@@ -83,7 +83,18 @@ void cCuttingThread::Action(void)
- int LastIFrame = 0;
- toMarks.Add(0);
- toMarks.Save();
-+#ifdef __FreeBSD__
-+ // XXX save thread stack space
-+ uchar *buffer = MALLOC(uchar, MAXFRAMESIZE);
-+ uchar *buffer2 = MALLOC(uchar, MAXFRAMESIZE);
-+ if (buffer == NULL || buffer2 == NULL) {
-+ free(buffer);
-+ error = "malloc";
-+ return;
-+ }
-+#else
- uchar buffer[MAXFRAMESIZE], buffer2[MAXFRAMESIZE];
-+#endif
- int Length2;
- bool CheckForSeamlessStream = false;
- bool LastMark = false;
-@@ -108,7 +119,7 @@ void cCuttingThread::Action(void)
- CurrentFileNumber = FileNumber;
- }
- if (fromFile) {
-- int len = ReadFrame(fromFile, buffer, Length, sizeof(buffer));
-+ int len = ReadFrame(fromFile, buffer, Length, MAXFRAMESIZE);
- if (len < 0) {
- error = "ReadFrame";
- break;
-@@ -193,7 +204,7 @@ void cCuttingThread::Action(void)
- if (FileNumber != CurrentFileNumber)
- fromFile = fromFileName->SetOffset(FileNumber, FileOffset);
- if (fromFile) {
-- int len = ReadFrame(fromFile, buffer2, Length2, sizeof(buffer2));
-+ int len = ReadFrame(fromFile, buffer2, Length2, MAXFRAMESIZE);
- if (len >= 0 && len == Length2)
- CheckForSeamlessStream = true;
- }
-@@ -216,6 +227,10 @@ void cCuttingThread::Action(void)
- }
- }
- Recordings.TouchUpdate();
-+#ifdef __FreeBSD__
-+ free(buffer);
-+ free(buffer2);
-+#endif
- }
- else
- esyslog("no editing marks found!");
---- thread.c.orig
-+++ thread.c
-@@ -242,7 +242,7 @@ void cThread::SetPriority(int Priority)
- void cThread::SetIOPriority(int Priority)
- {
- #ifdef __FreeBSD__
-- esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD");
-+ // esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD");
- #else
- if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class
- LOG_ERROR;
diff --git a/multimedia/vdr/files/patch-z-dvbdevice.c b/multimedia/vdr/files/patch-z-dvbdevice.c
deleted file mode 100644
index 078f559a23d9..000000000000
--- a/multimedia/vdr/files/patch-z-dvbdevice.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -823,7 +823,11 @@ bool cDvbTuner::SetFrontend(void)
- SETCMD(DTV_HIERARCHY, dtp.Hierarchy());
- if (frontendType == SYS_DVBT2) {
- // DVB-T2
-+#ifndef DTV_DVBT2_PLP_ID
-+ SETCMD(DTV_DVBT2_PLP_ID_LEGACY, dtp.PlpId());
-+#else
- SETCMD(DTV_DVBT2_PLP_ID, dtp.PlpId());
-+#endif
- }
-
- tuneTimeout = DVBT_TUNE_TIMEOUT;
diff --git a/multimedia/vdr/files/patch-z-libsi-si.c b/multimedia/vdr/files/patch-z-libsi-si.c
deleted file mode 100644
index d81cc482518a..000000000000
--- a/multimedia/vdr/files/patch-z-libsi-si.c
+++ /dev/null
@@ -1,42 +0,0 @@
---- libsi/si.c.orig
-+++ libsi/si.c
-@@ -308,6 +308,25 @@ static const char *CharacterTables2[] =
- "ISO-8859-15", // 0x0F
- };
-
-+static const char *CharacterTables3[] = {
-+ NULL, // 0x00
-+ "ISO8859-1", // 0x01
-+ "ISO8859-2", // 0x02
-+ "ISO8859-3", // 0x03
-+ "ISO8859-4", // 0x04
-+ "ISO8859-5", // 0x05
-+ "ISO8859-6", // 0x06
-+ "ISO8859-7", // 0x07
-+ "ISO8859-8", // 0x08
-+ "ISO8859-9", // 0x09
-+ "ISO8859-10", // 0x0A
-+ "ISO8859-11", // 0x0B
-+ "ISO8859-12", // 0x0C
-+ "ISO8859-13", // 0x0D
-+ "ISO8859-14", // 0x0E
-+ "ISO8859-15", // 0x0F
-+};
-+
- #define NumEntries(Table) (sizeof(Table) / sizeof(char *))
-
- static const char *SystemCharacterTable = NULL;
-@@ -334,6 +353,13 @@ bool SetSystemCharacterTable(const char
- return true;
- }
- }
-+ for (unsigned int i = 0; i < NumEntries(CharacterTables3); i++) {
-+ if (CharacterTables3[i] && strcasecmp(CharacterTable, CharacterTables3[i]) == 0) {
-+ SystemCharacterTable = CharacterTables3[i];
-+ SystemCharacterTableIsSingleByte = true;
-+ return true;
-+ }
-+ }
- } else {
- SystemCharacterTable = NULL;
- SystemCharacterTableIsSingleByte = true;
diff --git a/multimedia/vdr/files/remote.conf b/multimedia/vdr/files/remote.conf
deleted file mode 100644
index d6898e16a2d3..000000000000
--- a/multimedia/vdr/files/remote.conf
+++ /dev/null
@@ -1,116 +0,0 @@
-XKeySym.Up Up
-XKeySym.Down Down
-XKeySym.Menu Tab
-XKeySym.Menu Insert
-XKeySym.Ok Return
-XKeySym.Ok KP_Enter
-XKeySym.Back BackSpace
-XKeySym.Left Left
-XKeySym.Right Right
-XKeySym.Red F5
-XKeySym.Green F6
-XKeySym.Yellow F7
-XKeySym.Blue F8
-XKeySym.0 0
-XKeySym.1 1
-XKeySym.2 2
-XKeySym.3 3
-XKeySym.4 4
-XKeySym.5 5
-XKeySym.6 6
-XKeySym.7 7
-XKeySym.8 8
-XKeySym.9 9
-XKeySym.0 KP_0
-XKeySym.1 KP_1
-XKeySym.2 KP_2
-XKeySym.3 KP_3
-XKeySym.4 KP_4
-XKeySym.5 KP_5
-XKeySym.6 KP_6
-XKeySym.7 KP_7
-XKeySym.8 KP_8
-XKeySym.9 KP_9
-XKeySym.Info i
-XKeySym.Mute m
-XKeySym.Play p
-XKeySym.Play y
-XKeySym.Pause space
-XKeySym.Stop s
-XKeySym.Record r
-XKeySym.FastFwd w
-XKeySym.FastRew e
-XKeySym.Next n
-XKeySym.Prev v
-XKeySym.Channel+ Prior
-XKeySym.Channel- Next
-XKeySym.Volume+ KP_Add
-XKeySym.Volume- KP_Subtract
-XKeySym.Audio a
-XKeySym.Subtitles u
-XKeySym.Schedule l
-XKeySym.Channels c
-XKeySym.Timers t
-XKeySym.Recordings o
-XKeySym.Setup S
-XKeySym.Commands C
-XKeySym.User1 U
-XKeySym.User2 V
-XKeySym.User3 W
-XKeySym.User4 X
-XKeySym.User5 Y
-XKeySym.User6 Z
-KBD.Up 00000000001B5B41
-KBD.Down 00000000001B5B42
-KBD.Menu 0000000000000009
-KBD.Menu 000000001B5B327E
-KBD.Ok 000000000000000D
-KBD.Back 000000000000007F
-KBD.Back 0000000000000008
-KBD.Left 00000000001B5B44
-KBD.Right 00000000001B5B43
-KBD.Red 0000001B5B31357E
-KBD.Green 0000001B5B31377E
-KBD.Yellow 0000001B5B31387E
-KBD.Blue 0000001B5B31397E
-KBD.0 0000000000000030
-KBD.1 0000000000000031
-KBD.2 0000000000000032
-KBD.3 0000000000000033
-KBD.4 0000000000000034
-KBD.5 0000000000000035
-KBD.6 0000000000000036
-KBD.7 0000000000000037
-KBD.8 0000000000000038
-KBD.9 0000000000000039
-KBD.Info 0000000000000069
-KBD.Play 0000000000000070
-KBD.Play 0000000000000079
-KBD.Pause 0000000000000020
-KBD.Stop 0000000000000073
-KBD.Record 0000000000000072
-KBD.FastFwd 0000000000000066
-KBD.FastRew 0000000000000077
-KBD.Next 000000000000006E
-KBD.Prev 0000000000000076
-KBD.Power 000000000000001B
-KBD.Channel+ 000000001B5B357E
-KBD.Channel- 000000001B5B367E
-KBD.PrevChannel 000000001B5B317E
-KBD.Volume+ 000000000000002B
-KBD.Volume- 000000000000002D
-KBD.Mute 000000000000006D
-KBD.Audio 0000000000000061
-KBD.Subtitles 0000000000000075
-KBD.Schedule 000000000000006C
-KBD.Channels 0000000000000063
-KBD.Timers 0000000000000074
-KBD.Recordings 000000000000006F
-KBD.Setup 0000000000000053
-KBD.Commands 0000000000000043
-KBD.User1 0000000000000055
-KBD.User2 0000000000000056
-KBD.User3 0000000000000057
-KBD.User4 0000000000000058
-KBD.User5 0000000000000059
-KBD.User6 000000000000005A
diff --git a/multimedia/vdr/files/stb0899-signalstrength.patch b/multimedia/vdr/files/stb0899-signalstrength.patch
deleted file mode 100644
index 669a05f1133a..000000000000
--- a/multimedia/vdr/files/stb0899-signalstrength.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -560,6 +560,12 @@ int cDvbTuner::GetSignalStrength(void) c
- switch (subsystemId) {
- case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
- }
-+#if 1
-+ // XXX This is likely not correct for all cards using stb0899
-+ // but pctv452e usb ones seem to be affected too...
-+ if (!strcmp(device->DeviceName(), "STB0899 Multistandard"))
-+ MaxSignal = 670;
-+#endif
- int s = int(Signal) * 100 / MaxSignal;
- if (s > 100)
- s = 100;
-@@ -632,6 +638,12 @@ int cDvbTuner::GetSignalQuality(void) co
- switch (subsystemId) {
- case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
- }
-+#if 1
-+ // XXX This is likely not correct for all cards using stb0899
-+ // but pctv452e usb ones seem to be affected too...
-+ if (!strcmp(device->DeviceName(), "STB0899 Multistandard"))
-+ MaxSnr = 200;
-+#endif
- int a = int(Snr) * 100 / MaxSnr;
- int b = 100 - (Unc * 10 + (Ber / 256) * 5);
- if (b < 0)
diff --git a/multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch b/multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch
deleted file mode 100644
index b3b3ef867eba..000000000000
--- a/multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- eitscan.c.orig 2010-06-06 19:11:14.000000000 +0300
-+++ eitscan.c 2010-06-06 20:44:07.000000000 +0300
-@@ -146,7 +146,7 @@
- if (Device) {
- for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
- const cChannel *Channel = ScanData->GetChannel();
-- if (Channel) {
-+ if (Channel && !cSource::IsType(Channel->Source(), 'I')) {
- if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) {
- if (Device->ProvidesTransponder(Channel)) {
- if (!Device->Receiving()) {
diff --git a/multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff b/multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff
deleted file mode 100644
index 8ab3a21d5c7e..000000000000
--- a/multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- pat.c.orig 2011-03-13 23:15:42.000000000 -0700
-+++ pat.c 2011-03-14 00:14:40.000000000 -0700
-@@ -486,6 +486,7 @@ void cPatFilter::Process(u_short Pid, u_
- SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
- strn0cpy(lang, I18nNormalizeLanguageCode(ld->languageCode), MAXLANGCODE1);
- }
-+ IsAc3 = true;
- break;
- default: ;
- }
diff --git a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1 b/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1
deleted file mode 100644
index d31f4234cfb9..000000000000
--- a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1
+++ /dev/null
@@ -1,959 +0,0 @@
-diff --git a/MANUAL b/MANUAL
-index 54e166e..57b687f 100644
---- a/MANUAL
-+++ b/MANUAL
-@@ -730,6 +730,9 @@ Version 1.6
- background transparency. By default the values as broadcast
- are used.
-
-+ Record Teletext Subtitles = no
-+ If set to 'yes', teletext subtitles will be recorded.
-+
- LNB:
-
- SLOF = 11700 The switching frequency (in MHz) between low and
-diff --git a/Makefile b/Makefile
-index 18d7eb9..3da4382 100644
---- a/Makefile
-+++ b/Makefile
-@@ -45,6 +45,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
- skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
- timers.o tools.o transfer.o vdr.o videodir.o
-
-+OBJS += vdrttxtsubshooks.o
-+
- ifndef NO_KBD
- DEFINES += -DREMOTE_KBD
- endif
-diff --git a/channels.c b/channels.c
-index b9204f2..44d4be2 100644
---- a/channels.c
-+++ b/channels.c
-@@ -378,6 +378,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
- }
- }
-
-+void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages)
-+{
-+ int mod = CHANNELMOD_NONE;
-+ if (totalTtxtSubtitlePages != (fixedTtxtSubtitlePages + numberOfPages))
-+ mod |= CHANNELMOD_PIDS;
-+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages;
-+ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) {
-+ if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine ||
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage ||
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType != pages[i].ttxtType ||
-+ strcmp(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, pages[i].ttxtLanguage)) {
-+ mod |= CHANNELMOD_PIDS;
-+ teletextSubtitlePages[totalTtxtSubtitlePages] = pages[i];
-+ }
-+ totalTtxtSubtitlePages++;
-+ }
-+ modification |= mod;
-+ Channels.SetModified();
-+}
-+
- void cChannel::SetCaIds(const int *CaIds)
- {
- if (caids[0] && caids[0] <= CA_USER_MAX)
-@@ -506,10 +526,17 @@ cString cChannel::ToText(const cChannel *Channel)
- q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes);
- }
- *q = 0;
-- const int TBufferSize = MAXSPIDS * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia and tpid
-+ const int TBufferSize = (MAXTXTPAGES * MAXSPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia and tpid
- char tpidbuf[TBufferSize];
- q = tpidbuf;
- q += snprintf(q, sizeof(tpidbuf), "%d", Channel->tpid);
-+ if (Channel->fixedTtxtSubtitlePages > 0) {
-+ *q++ = '+';
-+ for (int i = 0; i < Channel->fixedTtxtSubtitlePages; ++i) {
-+ tTeletextSubtitlePage page = Channel->teletextSubtitlePages[i];
-+ q += snprintf(q, sizeof(tpidbuf) - (q - tpidbuf), "%d=%s", page.PageNumber(), page.ttxtLanguage);
-+ }
-+ }
- if (Channel->spids[0]) {
- *q++ = ';';
- q += IntArrayToString(q, Channel->spids, 10, Channel->slangs);
-@@ -678,6 +705,32 @@ bool cChannel::Parse(const char *s)
- }
- spids[NumSpids] = 0;
- }
-+ fixedTtxtSubtitlePages = 0;
-+ if ((p = strchr(tpidbuf, '+')) != NULL) {
-+ *p++ = 0;
-+ char *q;
-+ char *strtok_next;
-+ while ((q = strtok_r(p, ",", &strtok_next)) != NULL) {
-+ if (fixedTtxtSubtitlePages < MAXTXTPAGES) {
-+ int page;
-+ char *l = strchr(q, '=');
-+ if (l)
-+ *l++ = 0;
-+ if (sscanf(q, "%d", &page) == 1) {
-+ teletextSubtitlePages[fixedTtxtSubtitlePages] = tTeletextSubtitlePage(page);
-+ if (l)
-+ strn0cpy(teletextSubtitlePages[fixedTtxtSubtitlePages].ttxtLanguage, l, MAXLANGCODE2);
-+ fixedTtxtSubtitlePages++;
-+ }
-+ else
-+ esyslog("ERROR: invalid Teletext page!"); // no need to set ok to 'false'
-+ }
-+ else
-+ esyslog("ERROR: too many Teletext pages!"); // no need to set ok to 'false'
-+ p = NULL;
-+ }
-+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages;
-+ }
- if (sscanf(tpidbuf, "%d", &tpid) != 1)
- return false;
- if (caidbuf) {
-diff --git a/channels.h b/channels.h
-index 51f9830..6e7367f 100644
---- a/channels.h
-+++ b/channels.h
-@@ -35,6 +35,7 @@
- #define MAXDPIDS 16 // dolby (AC3 + DTS)
- #define MAXSPIDS 32 // subtitles
- #define MAXCAIDS 12 // conditional access
-+#define MAXTXTPAGES 8 // teletext pages
-
- #define MAXLANGCODE1 4 // a 3 letter language code, zero terminated
- #define MAXLANGCODE2 8 // up to two 3 letter language codes, separated by '+' and zero terminated
-@@ -71,6 +72,16 @@ public:
- static const tChannelID InvalidID;
- };
-
-+struct tTeletextSubtitlePage {
-+ tTeletextSubtitlePage(void) { ttxtPage = ttxtMagazine = 0; ttxtType = 0x02; strcpy(ttxtLanguage, "und"); }
-+ tTeletextSubtitlePage(int page) { ttxtMagazine = (page / 100) & 0x7; ttxtPage = (((page % 100) / 10) << 4) + (page % 10); ttxtType = 0x02; strcpy(ttxtLanguage, "und"); }
-+ char ttxtLanguage[MAXLANGCODE1];
-+ uchar ttxtPage;
-+ uchar ttxtMagazine;
-+ uchar ttxtType;
-+ int PageNumber(void) const { return BCDCHARTOINT(ttxtMagazine) * 100 + BCDCHARTOINT(ttxtPage); }
-+ };
-+
- class cChannel;
-
- class cLinkChannel : public cListObject {
-@@ -115,6 +126,9 @@ private:
- uint16_t compositionPageIds[MAXSPIDS];
- uint16_t ancillaryPageIds[MAXSPIDS];
- int tpid;
-+ int fixedTtxtSubtitlePages;
-+ int totalTtxtSubtitlePages;
-+ tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES];
- int caids[MAXCAIDS + 1]; // list is zero-terminated
- int nid;
- int tid;
-@@ -164,6 +178,8 @@ public:
- uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
- uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
- int Tpid(void) const { return tpid; }
-+ const tTeletextSubtitlePage *TeletextSubtitlePages() const { return teletextSubtitlePages; }
-+ int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; }
- const int *Caids(void) const { return caids; }
- int Ca(int Index = 0) const { return Index < MAXCAIDS ? caids[Index] : 0; }
- int Nid(void) const { return nid; }
-@@ -190,6 +206,7 @@ public:
- void SetName(const char *Name, const char *ShortName, const char *Provider);
- void SetPortalName(const char *PortalName);
- void SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
-+ void SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages);
- void SetCaIds(const int *CaIds); // list must be zero-terminated
- void SetCaDescriptors(int Level);
- void SetLinkChannels(cLinkChannels *LinkChannels);
-diff --git a/ci.c b/ci.c
-index 59d62ef..b024f67 100644
---- a/ci.c
-+++ b/ci.c
-@@ -1913,6 +1913,8 @@ void cCamSlot::AddChannel(const cChannel *Channel)
- AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
- for (const int *Spid = Channel->Spids(); *Spid; Spid++)
- AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
-+ if (Channel->Tpid() && Setup.SupportTeletext)
-+ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_PRIVATE);
- }
- }
-
-@@ -1936,6 +1938,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
- CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
- for (const int *Spid = Channel->Spids(); *Spid; Spid++)
- CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
-+ if (Channel->Tpid() && Setup.SupportTeletext) {
-+ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE);
-+ }
- cas->SendPMT(&CaPmt);
- cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
- do {
-diff --git a/config.c b/config.c
-index 73bb00d..982bd78 100644
---- a/config.c
-+++ b/config.c
-@@ -333,6 +333,7 @@ cSetup::cSetup(void)
- MarginStop = 10;
- AudioLanguages[0] = -1;
- DisplaySubtitles = 0;
-+ SupportTeletext = 0;
- SubtitleLanguages[0] = -1;
- SubtitleOffset = 0;
- SubtitleFgTransparency = 0;
-@@ -525,6 +526,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
- else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value);
- else if (!strcasecmp(Name, "AudioLanguages")) return ParseLanguages(Value, AudioLanguages);
- else if (!strcasecmp(Name, "DisplaySubtitles")) DisplaySubtitles = atoi(Value);
-+ else if (!strcasecmp(Name, "SupportTeletext")) SupportTeletext = atoi(Value);
- else if (!strcasecmp(Name, "SubtitleLanguages")) return ParseLanguages(Value, SubtitleLanguages);
- else if (!strcasecmp(Name, "SubtitleOffset")) SubtitleOffset = atoi(Value);
- else if (!strcasecmp(Name, "SubtitleFgTransparency")) SubtitleFgTransparency = atoi(Value);
-@@ -621,6 +623,7 @@ bool cSetup::Save(void)
- Store("MarginStop", MarginStop);
- StoreLanguages("AudioLanguages", AudioLanguages);
- Store("DisplaySubtitles", DisplaySubtitles);
-+ Store("SupportTeletext", SupportTeletext);
- StoreLanguages("SubtitleLanguages", SubtitleLanguages);
- Store("SubtitleOffset", SubtitleOffset);
- Store("SubtitleFgTransparency", SubtitleFgTransparency);
-diff --git a/config.h b/config.h
-index c51e3df..e46b4bd 100644
---- a/config.h
-+++ b/config.h
-@@ -235,6 +235,7 @@ public:
- int MarginStart, MarginStop;
- int AudioLanguages[I18N_MAX_LANGUAGES + 1];
- int DisplaySubtitles;
-+ int SupportTeletext;
- int SubtitleLanguages[I18N_MAX_LANGUAGES + 1];
- int SubtitleOffset;
- int SubtitleFgTransparency, SubtitleBgTransparency;
-diff --git a/device.c b/device.c
-index ba098d8..84bdd30 100644
---- a/device.c
-+++ b/device.c
-@@ -18,6 +18,7 @@
- #include "receiver.h"
- #include "status.h"
- #include "transfer.h"
-+#include "vdrttxtsubshooks.h"
-
- // --- cLiveSubtitle ---------------------------------------------------------
-
-@@ -1250,6 +1251,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
- }
- break;
- case 0xBD: { // private stream 1
-+ // EBU Teletext data, ETSI EN 300 472
-+ // if PES data header length = 24 and data_identifier = 0x10..0x1F (EBU Data)
-+ if (Data[8] == 0x24 && Data[45] >= 0x10 && Data[45] < 0x20) {
-+ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData((uint8_t*)Data, Length);
-+ break;
-+ }
-+
- int PayloadOffset = Data[8] + 9;
-
- // Compatibility mode for old subtitles plugin:
-@@ -1409,6 +1417,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
- tsToPesVideo.Reset();
- tsToPesAudio.Reset();
- tsToPesSubtitle.Reset();
-+ tsToPesTeletext.Reset();
- }
- else if (Length < TS_SIZE) {
- esyslog("ERROR: skipped %d bytes of TS fragment", Length);
-@@ -1454,6 +1463,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
- if (!VideoOnly || HasIBPTrickSpeed())
- PlayTsSubtitle(Data, TS_SIZE);
- }
-+ else if (Pid == patPmtParser.Tpid()) {
-+ if (!VideoOnly || HasIBPTrickSpeed()) {
-+ int l;
-+ tsToPesTeletext.PutTs(Data, Length);
-+ if (const uchar *p = tsToPesTeletext.GetPes(l)) {
-+ if ((l > 45) && (p[0] == 0x00) && (p[1] == 0x00) && (p[2] == 0x01) && (p[3] == 0xbd) && (p[8] == 0x24) && (p[45] >= 0x10) && (p[45] < 0x20))
-+ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData((uchar *)p, l, false, patPmtParser.TeletextSubtitlePages(), patPmtParser.TotalTeletextSubtitlePages());
-+ tsToPesTeletext.Reset();
-+ }
-+ }
-+ }
- }
- }
- else if (Pid == patPmtParser.Ppid()) {
-diff --git a/device.h b/device.h
-index fd587a8..078f080 100644
---- a/device.h
-+++ b/device.h
-@@ -538,6 +538,7 @@ private:
- cTsToPes tsToPesVideo;
- cTsToPes tsToPesAudio;
- cTsToPes tsToPesSubtitle;
-+ cTsToPes tsToPesTeletext;
- bool isPlayingVideo;
- protected:
- const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; }
-diff --git a/menu.c b/menu.c
-index ef2bb46..3548ccd 100644
---- a/menu.c
-+++ b/menu.c
-@@ -2798,6 +2798,7 @@ void cMenuSetupDVB::Setup(void)
- Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle foreground transparency"), &data.SubtitleFgTransparency, 0, 9));
- Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle background transparency"), &data.SubtitleBgTransparency, 0, 10));
- }
-+ Add(new cMenuEditBoolItem(tr("Setup.DVB$Enable teletext support"), &data.SupportTeletext));
-
- SetCurrent(Get(current));
- Display();
-diff --git a/po/ca_ES.po b/po/ca_ES.po
-index b104fea..1c09d79 100644
---- a/po/ca_ES.po
-+++ b/po/ca_ES.po
-@@ -950,6 +950,9 @@ msgstr "Transpar
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparència fons subtítols"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "Configuració de l'LNB"
-
-diff --git a/po/cs_CZ.po b/po/cs_CZ.po
-index bcafac7..370609f 100644
---- a/po/cs_CZ.po
-+++ b/po/cs_CZ.po
-@@ -949,6 +949,9 @@ msgstr "Průhlednost písma titulků"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Průhlednost pozadí titulků"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/da_DK.po b/po/da_DK.po
-index 81b11eb..5daca8d 100644
---- a/po/da_DK.po
-+++ b/po/da_DK.po
-@@ -947,6 +947,9 @@ msgstr "Undertekst forgrundsgennemsigtighed"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Undertekst baggrundsgennemsigtighed"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/de_DE.po b/po/de_DE.po
-index 6d5b822..0a00a5a 100644
---- a/po/de_DE.po
-+++ b/po/de_DE.po
-@@ -947,6 +947,9 @@ msgstr "Untertitel-Transparenz Vordergrund"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Untertitel-Transparenz Hintergrund"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr "Videotext-Unterstützung aktivieren"
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/el_GR.po b/po/el_GR.po
-index 9756ea7..5d4d6ea 100644
---- a/po/el_GR.po
-+++ b/po/el_GR.po
-@@ -947,6 +947,9 @@ msgstr ""
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr ""
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/es_ES.po b/po/es_ES.po
-index 193e75e..1f36b60 100644
---- a/po/es_ES.po
-+++ b/po/es_ES.po
-@@ -948,6 +948,9 @@ msgstr "Transparencia primer plano subt
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparencia fondo subtítulos"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/et_EE.po b/po/et_EE.po
-index 49794dd..83ff319 100644
---- a/po/et_EE.po
-+++ b/po/et_EE.po
-@@ -947,6 +947,9 @@ msgstr "Subtiitri l
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Subtiitri tausta läbipaistvus"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr "Teleteksti tugi"
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/fi_FI.po b/po/fi_FI.po
-index b093e88..4abf6a8 100644
---- a/po/fi_FI.po
-+++ b/po/fi_FI.po
-@@ -950,6 +950,9 @@ msgstr "Tekstityksen läpinäkyvyys"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Tekstityksen taustan läpinäkyvyys"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr "Salli teksti-TV-tuki"
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/fr_FR.po b/po/fr_FR.po
-index b5c5120..86a961a 100644
---- a/po/fr_FR.po
-+++ b/po/fr_FR.po
-@@ -953,6 +953,9 @@ msgstr "Transparence de l'avant-plan"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparence du fond"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/hr_HR.po b/po/hr_HR.po
-index ed519a2..43f2ea5 100644
---- a/po/hr_HR.po
-+++ b/po/hr_HR.po
-@@ -949,6 +949,9 @@ msgstr "Transparentnost titla"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparentnost pozadine titla"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/hu_HU.po b/po/hu_HU.po
-index 17b905f..06f4505 100644
---- a/po/hu_HU.po
-+++ b/po/hu_HU.po
-@@ -950,6 +950,9 @@ msgstr "Felirat transzparenci
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Felirat hátterének transzparenciája"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/it_IT.po b/po/it_IT.po
-index 501300e..e0227d3 100644
---- a/po/it_IT.po
-+++ b/po/it_IT.po
-@@ -954,6 +954,9 @@ msgstr "Trasparenza sottotitoli"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Trasparenza sfondo sottotitoli"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/lt_LT.po b/po/lt_LT.po
-index 6cb1faa..4efc707 100644
---- a/po/lt_LT.po
-+++ b/po/lt_LT.po
-@@ -947,6 +947,9 @@ msgstr "Subtitrų fonto permatomumas"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Subtitrų fono permatomumas"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "Konverteris (LNB)"
-
-diff --git a/po/nl_NL.po b/po/nl_NL.po
-index ae2b85e..34a71e9 100644
---- a/po/nl_NL.po
-+++ b/po/nl_NL.po
-@@ -951,6 +951,9 @@ msgstr "Transparantie voorgrond ondertiteling"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparantie achtergrond ondertiteling"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/nn_NO.po b/po/nn_NO.po
-index 8ec8dfb..9c129ee 100644
---- a/po/nn_NO.po
-+++ b/po/nn_NO.po
-@@ -948,6 +948,9 @@ msgstr ""
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr ""
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/pl_PL.po b/po/pl_PL.po
-index a5c1b47..9645eca 100644
---- a/po/pl_PL.po
-+++ b/po/pl_PL.po
-@@ -948,6 +948,9 @@ msgstr "Prze
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Prze¼rocze podtytu³ów: T³o"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/pt_PT.po b/po/pt_PT.po
-index c443312..3c108ea 100644
---- a/po/pt_PT.po
-+++ b/po/pt_PT.po
-@@ -948,6 +948,9 @@ msgstr "Transpar
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparência de fundo das legendas"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/ro_RO.po b/po/ro_RO.po
-index f8c5a1e..35ec9ec 100644
---- a/po/ro_RO.po
-+++ b/po/ro_RO.po
-@@ -950,6 +950,9 @@ msgstr "Transparen
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparenþa fundalului subtitrãrii"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/ru_RU.po b/po/ru_RU.po
-index e683b8b..b90e565 100644
---- a/po/ru_RU.po
-+++ b/po/ru_RU.po
-@@ -948,6 +948,9 @@ msgstr "
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "¿àÞ×àÐçÝÞáâì äÞÝÐ áãÑâØâàÞÒ"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "ºÞÝÒÕàâÕà"
-
-diff --git a/po/sk_SK.po b/po/sk_SK.po
-index 46edef5..aabb641 100644
---- a/po/sk_SK.po
-+++ b/po/sk_SK.po
-@@ -947,6 +947,9 @@ msgstr "Prieh
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Priehµadnos» pozadia titulkov"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/sl_SI.po b/po/sl_SI.po
-index 89c6923..8ef4387 100644
---- a/po/sl_SI.po
-+++ b/po/sl_SI.po
-@@ -948,6 +948,9 @@ msgstr "Transparentnost podnapisov"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparentnost ozadja podnapisov"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/sv_SE.po b/po/sv_SE.po
-index 150f95e..020c64d 100644
---- a/po/sv_SE.po
-+++ b/po/sv_SE.po
-@@ -950,6 +950,9 @@ msgstr "Transparent f
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparent bakgrund textremsa"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/tr_TR.po b/po/tr_TR.po
-index 194943b..338c649 100644
---- a/po/tr_TR.po
-+++ b/po/tr_TR.po
-@@ -947,6 +947,9 @@ msgstr "Altyaz
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Altyazý arka þeffaflýk"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/uk_UA.po b/po/uk_UA.po
-index 433ec70..c0a7947 100644
---- a/po/uk_UA.po
-+++ b/po/uk_UA.po
-@@ -947,6 +947,9 @@ msgstr "ПрозоріÑÑ‚ÑŒ переднього плану Ñубтитрів"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "ПрозоріÑÑ‚ÑŒ заднього плану Ñубтитрів"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "Конвертер"
-
-diff --git a/po/zh_CN.po b/po/zh_CN.po
-index c28fe88..8a594e3 100644
---- a/po/zh_CN.po
-+++ b/po/zh_CN.po
-@@ -950,6 +950,9 @@ msgstr "字幕å‰æ™¯é€æ˜Žåº¦"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "字幕背景é€æ˜Žåº¦"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "切æ¢å™¨è®¾ç½®"
-
-diff --git a/receiver.c b/receiver.c
-index 6a9ba04..a5c8967 100644
---- a/receiver.c
-+++ b/receiver.c
-@@ -81,7 +81,8 @@ bool cReceiver::SetPids(const cChannel *Channel)
- (Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) &&
- AddPids(Channel->Apids()) &&
- AddPids(Channel->Dpids()) &&
-- AddPids(Channel->Spids());
-+ AddPids(Channel->Spids()) &&
-+ (!Setup.SupportTeletext || AddPid(Channel->Tpid()));
- }
- return true;
- }
-diff --git a/remux.c b/remux.c
-index 78ab294..4f9950f 100644
---- a/remux.c
-+++ b/remux.c
-@@ -219,6 +219,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua
- return i;
- }
-
-+int cPatPmtGenerator::MakeTeletextDescriptor(uchar *Target, const tTeletextSubtitlePage *pages, int pageCount)
-+{
-+ int i = 0, j = 0;
-+ Target[i++] = SI::TeletextDescriptorTag;
-+ int l = i;
-+ Target[i++] = 0x00; // length
-+ for (int n = 0; n < pageCount; n++) {
-+ const char* Language = pages[n].ttxtLanguage;
-+ Target[i++] = *Language++;
-+ Target[i++] = *Language++;
-+ Target[i++] = *Language++;
-+ Target[i++] = (pages[n].ttxtType << 3) + pages[n].ttxtMagazine;
-+ Target[i++] = pages[n].ttxtPage;
-+ j++;
-+ }
-+ if (j > 0) {
-+ Target[l] = j * 5; // update length
-+ IncEsInfoLength(i);
-+ return i;
-+ }
-+ return 0;
-+}
-+
- int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language)
- {
- int i = 0;
-@@ -306,6 +329,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
- if (Channel) {
- int Vpid = Channel->Vpid();
- int Ppid = Channel->Ppid();
-+ int Tpid = Channel->Tpid();
- uchar *p = buf;
- int i = 0;
- p[i++] = 0x02; // table id
-@@ -338,6 +362,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
- i += MakeStream(buf + i, 0x06, Channel->Spid(n));
- i += MakeSubtitlingDescriptor(buf + i, Channel->Slang(n), Channel->SubtitlingType(n), Channel->CompositionPageId(n), Channel->AncillaryPageId(n));
- }
-+ if (Tpid) {
-+ i += MakeStream(buf + i, 0x06, Tpid);
-+ i += MakeTeletextDescriptor(buf + i, Channel->TeletextSubtitlePages(), Channel->TotalTeletextSubtitlePages());
-+ }
-
- int sl = i - SectionLength - 2 + 4; // -2 = SectionLength storage, +4 = length of CRC
- buf[SectionLength] |= (sl >> 8) & 0x0F;
-@@ -411,6 +439,7 @@ void cPatPmtParser::Reset(void)
- pmtPid = -1;
- vpid = vtype = 0;
- ppid = 0;
-+ tpid = 0;
- }
-
- void cPatPmtParser::ParsePat(const uchar *Data, int Length)
-@@ -496,11 +525,13 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
- int NumSpids = 0;
- vpid = vtype = 0;
- ppid = 0;
-+ tpid = 0;
- apids[0] = 0;
- dpids[0] = 0;
- spids[0] = 0;
- atypes[0] = 0;
- dtypes[0] = 0;
-+ totalTtxtSubtitlePages = 0;
- SI::PMT::Stream stream;
- for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
- dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());
-@@ -599,6 +630,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
- spids[NumSpids]= 0;
- }
- break;
-+ case SI::TeletextDescriptorTag: {
-+ dbgpatpmt(" teletext");
-+ tpid = stream.getPid();
-+ SI::TeletextDescriptor *sd = (SI::TeletextDescriptor *)d;
-+ SI::TeletextDescriptor::Teletext ttxt;
-+ if (totalTtxtSubtitlePages < MAXTXTPAGES) {
-+ for (SI::Loop::Iterator it; sd->teletextLoop.getNext(ttxt, it); ) {
-+ bool isSubtitlePage = (ttxt.getTeletextType() == 0x02) || (ttxt.getTeletextType() == 0x05);
-+ if (isSubtitlePage && ttxt.languageCode[0]) {
-+ dbgpatpmt(" '%s:%x.%x'", ttxt.languageCode, ttxt.getTeletextMagazineNumber(), ttxt.getTeletextPageNumber());
-+ strn0cpy(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, I18nNormalizeLanguageCode(ttxt.languageCode), MAXLANGCODE1);
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage = ttxt.getTeletextPageNumber();
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine = ttxt.getTeletextMagazineNumber();
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType = ttxt.getTeletextType();
-+ totalTtxtSubtitlePages++;
-+ if (totalTtxtSubtitlePages >= MAXTXTPAGES)
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ break;
- case SI::ISO639LanguageDescriptorTag: {
- SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
- dbgpatpmt(" '%s'", ld->languageCode);
-diff --git a/remux.h b/remux.h
-index b882279..4af51e5 100644
---- a/remux.h
-+++ b/remux.h
-@@ -174,6 +174,7 @@ protected:
- int MakeStream(uchar *Target, uchar Type, int Pid);
- int MakeAC3Descriptor(uchar *Target, uchar Type);
- int MakeSubtitlingDescriptor(uchar *Target, const char *Language, uchar SubtitlingType, uint16_t CompositionPageId, uint16_t AncillaryPageId);
-+ int MakeTeletextDescriptor(uchar *Target, const tTeletextSubtitlePage *pages, int pageCount);
- int MakeLanguageDescriptor(uchar *Target, const char *Language);
- int MakeCRC(uchar *Target, const uchar *Data, int Length);
- void GeneratePmtPid(const cChannel *Channel);
-@@ -219,6 +220,7 @@ private:
- int vpid;
- int ppid;
- int vtype;
-+ int tpid;
- int apids[MAXAPIDS + 1]; // list is zero-terminated
- int atypes[MAXAPIDS + 1]; // list is zero-terminated
- char alangs[MAXAPIDS][MAXLANGCODE2];
-@@ -231,6 +233,8 @@ private:
- uint16_t compositionPageIds[MAXSPIDS];
- uint16_t ancillaryPageIds[MAXSPIDS];
- bool updatePrimaryDevice;
-+ int totalTtxtSubtitlePages;
-+ tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES];
- protected:
- int SectionLength(const uchar *Data, int Length) { return (Length >= 3) ? ((int(Data[1]) & 0x0F) << 8)| Data[2] : 0; }
- public:
-@@ -263,6 +267,9 @@ public:
- int Vtype(void) const { return vtype; }
- ///< Returns the video stream type as defined by the current PMT, or 0 if no video
- ///< stream type has been detected, yet.
-+ int Tpid(void) { return tpid; }
-+ ///< Returns the teletext pid as defined by the current PMT, or 0 if no teletext
-+ ///< pid has been detected, yet.
- const int *Apids(void) const { return apids; }
- const int *Dpids(void) const { return dpids; }
- const int *Spids(void) const { return spids; }
-@@ -277,6 +284,8 @@ public:
- uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); }
- uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
- uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
-+ const tTeletextSubtitlePage *TeletextSubtitlePages() const { return teletextSubtitlePages; }
-+ int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; }
- };
-
- // TS to PES converter:
-diff --git a/vdr.5 b/vdr.5
-index c46a2bf..96e142a 100644
---- a/vdr.5
-+++ b/vdr.5
-@@ -225,6 +225,12 @@ by an '=' sign, as in
-
- .B ...:201;2001=deu,2002=eng:...
-
-+Manual teletext subtitling pages can be defined separated by a '+' sign.
-+The pages (separated by commas) can contain language codes, delimited by a '='
-+sign, as in
-+
-+.B ...:201+150=deu,151=fin;2001,2002:...
-+
- .TP
- .B Conditional access
- A hexadecimal integer defining how this channel can be accessed:
-diff --git a/vdrttxtsubshooks.c b/vdrttxtsubshooks.c
-new file mode 100644
-index 0000000..2471788
---- /dev/null
-+++ b/vdrttxtsubshooks.c
-@@ -0,0 +1,63 @@
-+/*
-+ * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder
-+ * Copyright (c) 2003 - 2008 Ragnar Sundblad <ragge@nada.kth.se>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License as published by the
-+ * Free Software Foundation; either version 2 of the License, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-+ * details.
-+ *
-+ * You should have received a copy of the GNU General Public License along with
-+ * this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ */
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <stdint.h>
-+
-+#include "vdrttxtsubshooks.h"
-+
-+// XXX Really should be a list...
-+static cVDRTtxtsubsHookListener *gListener;
-+
-+// ------ class cVDRTtxtsubsHookProxy ------
-+
-+class cVDRTtxtsubsHookProxy : public cVDRTtxtsubsHookListener
-+{
-+ public:
-+ virtual void HideOSD(void) { if(gListener) gListener->HideOSD(); };
-+ virtual void ShowOSD(void) { if(gListener) gListener->ShowOSD(); };
-+ virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0)
-+ { if(gListener) gListener->PlayerTeletextData(p, length, IsPesRecording, teletextSubtitlePages, pageCount); };
-+ virtual int ManualPageNumber(const cChannel *channel)
-+ { if(gListener) return gListener->ManualPageNumber(channel); else return 0; };
-+};
-+
-+
-+// ------ class cVDRTtxtsubsHookListener ------
-+
-+cVDRTtxtsubsHookListener::~cVDRTtxtsubsHookListener()
-+{
-+ gListener = 0;
-+}
-+
-+void cVDRTtxtsubsHookListener::HookAttach(void)
-+{
-+ gListener = this;
-+ //printf("cVDRTtxtsubsHookListener::HookAttach\n");
-+}
-+
-+static cVDRTtxtsubsHookProxy gProxy;
-+
-+cVDRTtxtsubsHookListener *cVDRTtxtsubsHookListener::Hook(void)
-+{
-+ return &gProxy;
-+}
-+
-diff --git a/vdrttxtsubshooks.h b/vdrttxtsubshooks.h
-new file mode 100644
-index 0000000..2f97969
---- /dev/null
-+++ b/vdrttxtsubshooks.h
-@@ -0,0 +1,46 @@
-+/*
-+ * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder
-+ * Copyright (c) 2003 - 2008 Ragnar Sundblad <ragge@nada.kth.se>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License as published by the
-+ * Free Software Foundation; either version 2 of the License, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-+ * details.
-+ *
-+ * You should have received a copy of the GNU General Public License along with
-+ * this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ */
-+
-+#ifndef __VDRTTXTSUBSHOOKS_H
-+#define __VDRTTXTSUBSHOOKS_H
-+
-+#define TTXTSUBSVERSNUM 2
-+
-+class cDevice;
-+class cChannel;
-+struct tTeletextSubtitlePage;
-+
-+class cVDRTtxtsubsHookListener {
-+ public:
-+ cVDRTtxtsubsHookListener(void) {};
-+ virtual ~cVDRTtxtsubsHookListener();
-+
-+ void HookAttach(void);
-+
-+ virtual void HideOSD(void) {};
-+ virtual void ShowOSD(void) {};
-+ virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording = true, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0) {};
-+ virtual int ManualPageNumber(const cChannel *channel) { return 0; };
-+
-+ // used by VDR to call hook listeners
-+ static cVDRTtxtsubsHookListener *Hook(void);
-+};
-+
-+#endif
diff --git a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2 b/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2
deleted file mode 100644
index 1cbd92de8535..000000000000
--- a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/pat.c b/pat.c
-index b7493ec..9262491 100644
---- a/pat.c
-+++ b/pat.c
-@@ -17,6 +17,7 @@
- #include "libsi/section.h"
- #include "libsi/descriptor.h"
- #include "thread.h"
-+#include "vdrttxtsubshooks.h"
-
- #define PMT_SCAN_TIMEOUT 10 // seconds
-
-@@ -347,6 +348,8 @@ void cPatFilter::Process(u_short Pid, u_
- char DLangs[MAXDPIDS][MAXLANGCODE2] = { "" };
- char SLangs[MAXSPIDS][MAXLANGCODE2] = { "" };
- int Tpid = 0;
-+ tTeletextSubtitlePage TeletextSubtitlePages[MAXTXTPAGES];
-+ int NumTPages = 0;
- int NumApids = 0;
- int NumDpids = 0;
- int NumSpids = 0;
-@@ -438,8 +441,21 @@ void cPatFilter::Process(u_short Pid, u_
- NumSpids++;
- }
- break;
-- case SI::TeletextDescriptorTag:
-+ case SI::TeletextDescriptorTag: {
- Tpid = esPid;
-+ SI::TeletextDescriptor *sd = (SI::TeletextDescriptor *)d;
-+ SI::TeletextDescriptor::Teletext ttxt;
-+ for (SI::Loop::Iterator it; sd->teletextLoop.getNext(ttxt, it); ) {
-+ bool isSubtitlePage = (ttxt.getTeletextType() == 0x02) || (ttxt.getTeletextType() == 0x05);
-+ if ((NumTPages < MAXTXTPAGES) && ttxt.languageCode[0] && isSubtitlePage) {
-+ strn0cpy(TeletextSubtitlePages[NumTPages].ttxtLanguage, I18nNormalizeLanguageCode(ttxt.languageCode), MAXLANGCODE1);
-+ TeletextSubtitlePages[NumTPages].ttxtPage = ttxt.getTeletextPageNumber();
-+ TeletextSubtitlePages[NumTPages].ttxtMagazine = ttxt.getTeletextMagazineNumber();
-+ TeletextSubtitlePages[NumTPages].ttxtType = ttxt.getTeletextType();
-+ NumTPages++;
-+ }
-+ }
-+ }
- break;
- case SI::ISO639LanguageDescriptorTag: {
- SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
-@@ -541,6 +557,11 @@ void cPatFilter::Process(u_short Pid, u_
- }
- if (Setup.UpdateChannels >= 2) {
- Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
-+ if (NumTPages < MAXTXTPAGES) {
-+ int manualPageNumber = cVDRTtxtsubsHookListener::Hook()->ManualPageNumber(Channel);
-+ if (manualPageNumber)
-+ TeletextSubtitlePages[NumTPages++] = tTeletextSubtitlePage(manualPageNumber);
-+ }
- if (!cSource::IsType(Channel->Source(), 'I'))
- Channel->SetCaIds(CaDescriptors->CaIds());
- Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
diff --git a/multimedia/vdr/files/vdr-waitdvb.in b/multimedia/vdr/files/vdr-waitdvb.in
deleted file mode 100644
index d1b6bf096d45..000000000000
--- a/multimedia/vdr/files/vdr-waitdvb.in
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-command="%%PREFIX%%/bin/vdr"
-
-echo -n "vdr: waiting for dvb nodes: "
-i=0
-while true
-do
- ndvb=$(ls /dev/dvb/adapter*/frontend* 2>/dev/null|wc -l|tr -d ' ')
- if [ $ndvb -gt 0 ]; then
- break
- fi
- if [ $i -ge 60 ]; then
- break
- fi
- i=$((i + 1))
- sleep 1
- echo -n "."
-done
-
-i=0
-while true
-do
- sleep 2
- nndvb=$(ls /dev/dvb/adapter*/frontend* 2>/dev/null|wc -l|tr -d ' ')
- echo -n " $nndvb"
- if [ $nndvb -eq $ndvb ]; then
- break
- fi
- if [ $i -ge 30 ]; then
- break
- fi
- i=$((i + 1))
-done
-echo .
-
-exec "$command" "$@"
diff --git a/multimedia/vdr/files/vdr.in b/multimedia/vdr/files/vdr.in
deleted file mode 100644
index 743325f9bd50..000000000000
--- a/multimedia/vdr/files/vdr.in
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# PROVIDE: vdr
-# REQUIRE: LOGIN
-# KEYWORD: shutdown
-#
-# Add the following line to /etc/rc.conf[.local] to enable vdr:
-#
-# vdr_enable="YES"
-#
-# And if you are using vdr plugins etc. add those including any plugin
-# parameters to /etc/rc.conf[.local] similar to this:
-#
-# vdr_flags="'-Pxineliboutput --local=none --remote=127.1:37890' \
-# -Pfemon -Posdpip \
-# -Posdteletext --cache-system=packed --max-cache=128' \
-# -Pstreamdev-server '-Plive -i127.1' -Pepgsearch \
-# -Pinfosatepg"
-
-. /etc/rc.subr
-
-name=vdr
-rcvar=vdr_enable
-
-load_rc_config ${name}
-: ${vdr_enable="NO"}
-: ${vdr_chdir="%%VIDEODIR%%"}
-: ${vdr_waitdvb="YES"}
-
-command="%%PREFIX%%/bin/vdr"
-procname="$command"
-command_args="-d"
-
-start_precmd="${name}_prestart"
-
-vdr_prestart()
-{
- if checkyesno "${name}_waitdvb"; then
- command="/usr/sbin/daemon"
- rc_flags="-f %%PREFIX%%/bin/vdr-waitdvb $rc_flags"
- fi
-}
-
-run_rc_command "$1"
diff --git a/multimedia/vdr/pkg-descr b/multimedia/vdr/pkg-descr
deleted file mode 100644
index a8a0d8cf5888..000000000000
--- a/multimedia/vdr/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-Preliminary port of the vdr development branch, use at your own risk! :)
-
-See vdr/webcamd dvb thread(s) on the freebsd-multimedia list and the
-wiki for FreeBSD notes:
-
- http://wiki.freebsd.org/VDR
-
-Some links are also here:
-
- http://people.freebsd.org/~nox/dvb/
-
-and see these links for general vdr info:
-
- http://www.linuxtv.org/vdrwiki/index.php/Main_Page
- http://www.vdr-portal.de/
diff --git a/multimedia/vdr/pkg-plist b/multimedia/vdr/pkg-plist
deleted file mode 100644
index ead754d7edf6..000000000000
--- a/multimedia/vdr/pkg-plist
+++ /dev/null
@@ -1,152 +0,0 @@
-bin/svdrpsend
-bin/vdr
-bin/vdr-waitdvb
-lib/vdr/libvdr-dvbsddevice.so.1.7.29
-lib/vdr/libvdr-svcsvr.so.1.7.29
-lib/vdr/libvdr-svccli.so.1.7.29
-lib/vdr/libvdr-status.so.1.7.29
-lib/vdr/libvdr-skincurses.so.1.7.29
-lib/vdr/libvdr-pictures.so.1.7.29
-lib/vdr/libvdr-osddemo.so.1.7.29
-lib/vdr/libvdr-hello.so.1.7.29
-lib/vdr/libvdr-svdrpdemo.so.1.7.29
-lib/vdr/libvdr-epgtableid0.so.1.7.29
-lib/vdr/libvdr-rcu.so.1.7.29
-libdata/pkgconfig/vdr.pc
-man/man1/vdr.1.gz
-man/man5/vdr.5.gz
-%%NLS%%share/locale/ar/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/mk_MK/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sr_SR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-hello.mo
-include/libsi/descriptor.h
-include/libsi/headers.h
-include/libsi/section.h
-include/libsi/si.h
-include/libsi/util.h
-include/vdr/Make.config
-include/vdr/Make.global
-include/vdr/audio.h
-include/vdr/channels.h
-include/vdr/ci.h
-include/vdr/config.h
-include/vdr/cutter.h
-include/vdr/device.h
-include/vdr/diseqc.h
-include/vdr/dvbci.h
-include/vdr/dvbdevice.h
-include/vdr/dvbplayer.h
-include/vdr/dvbspu.h
-include/vdr/dvbsubtitle.h
-include/vdr/eit.h
-include/vdr/eitscan.h
-include/vdr/epg.h
-include/vdr/filter.h
-include/vdr/font.h
-include/vdr/i18n.h
-include/vdr/interface.h
-include/vdr/keys.h
-include/vdr/lirc.h
-include/vdr/menu.h
-include/vdr/menuitems.h
-include/vdr/nit.h
-include/vdr/osd.h
-include/vdr/osdbase.h
-include/vdr/pat.h
-include/vdr/player.h
-include/vdr/plugin.h
-include/vdr/receiver.h
-include/vdr/recorder.h
-include/vdr/recording.h
-include/vdr/remote.h
-include/vdr/remux.h
-include/vdr/ringbuffer.h
-include/vdr/sdt.h
-include/vdr/sections.h
-include/vdr/shutdown.h
-include/vdr/skinclassic.h
-include/vdr/skinlcars.h
-include/vdr/skins.h
-include/vdr/skinsttng.h
-include/vdr/sourceparams.h
-include/vdr/sources.h
-include/vdr/spu.h
-include/vdr/status.h
-include/vdr/svdrp.h
-include/vdr/themes.h
-include/vdr/thread.h
-include/vdr/timers.h
-include/vdr/tools.h
-include/vdr/transfer.h
-include/vdr/videodir.h
-%%TTXPATCH%%include/vdr/vdrttxtsubshooks.h
-@dir(%%VDR_USER%%,%%VDR_GROUP%%,) etc/vdr/plugins
-@sample etc/vdr/remote.conf.sample
-@sample etc/vdr/channels.conf.sample
-@sample etc/vdr/diseqc.conf.sample
-@sample etc/vdr/keymacros.conf.sample
-@sample etc/vdr/scr.conf.sample
-@sample etc/vdr/sources.conf.sample
-@sample etc/vdr/svdrphosts.conf.sample
-@unexec echo "Warning: If you will *NOT* use this package anymore, please remove the vdr user and group manually."
diff --git a/www/Makefile b/www/Makefile
index 21274aac09ba..fee4f2e01268 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2379,7 +2379,6 @@
SUBDIR += varnish7
SUBDIR += varnish_exporter
SUBDIR += vaultwarden-web_vault
- SUBDIR += vdr-plugin-live
SUBDIR += vdradmin-am
SUBDIR += vertx
SUBDIR += vger
diff --git a/www/vdr-plugin-live/Makefile b/www/vdr-plugin-live/Makefile
deleted file mode 100644
index 33089df59929..000000000000
--- a/www/vdr-plugin-live/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-PORTNAME= vdr-plugin-live
-PORTVERSION= 0.3.0
-PORTREVISION= 5
-CATEGORIES= www multimedia
-MASTER_SITES= http://live.vdr-developer.org/downloads/:release \
- LOCAL/nox/:snapshot
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - live web plugin
-WWW= http://live.vdr-developer.org/
-
-BROKEN= does not build: 'tr1/functional' file not found
-DEPRECATED= Depends on abandoned fork of VDR
-EXPIRATION_DATE=2023-06-30
-
-LIB_DEPENDS+= libtntnet.so:www/tntnet \
- libpcre.so:devel/pcre
-
-PATCH_STRIP= -p1
-PORTDOCS= COPYING README HISTORY
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-VDR_PLUGIN_MAKEFILES= ${WRKSRC}/httpd/Makefile ${WRKSRC}/pages/Makefile
-MAKE_ARGS+= INCLUDES="-I${LOCALBASE}/include -I${WRKSRC}"
-MAKE_ARGS+= PREFIX="${PREFIX}"
-USES= compiler:c++11-lang
-USE_CXXSTD= c++11
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../../multimedia/vdr/Makefile.plugins"
-
-.include <bsd.port.pre.mk>
-
-.if ${COMPILER_FEATURES:Mlibc++}
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-libcxx
-.endif
-
-post-patch: post-patch-plugin
- ${CP} ${FILESDIR}/gen_version_suffix.h ${WRKSRC}
-
-pre-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- (cd ${WRKSRC}/${PLUGIN} && ${COPYTREE_SHARE} \* \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN} )
-.if ${PORT_OPTIONS:MDOCS}
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/www/vdr-plugin-live/distinfo b/www/vdr-plugin-live/distinfo
deleted file mode 100644
index aa904bc79279..000000000000
--- a/www/vdr-plugin-live/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-live-0.3.0.tar.gz) = c200042e51393c247be97e7f4667a1f3f06319d5c8e538adca32fdfac8d178da
-SIZE (vdr/vdr-live-0.3.0.tar.gz) = 786859
diff --git a/www/vdr-plugin-live/files/extra-patch-libcxx b/www/vdr-plugin-live/files/extra-patch-libcxx
deleted file mode 100644
index 00dd2d788b50..000000000000
--- a/www/vdr-plugin-live/files/extra-patch-libcxx
+++ /dev/null
@@ -1,60 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -42,6 +42,9 @@ TMPDIR ?= /tmp
-
- -include $(VDRDIR)/Make.config
-
-+# libc++
-+CXXFLAGS+= -std=c++11
-+
- ### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
---- a/css/Makefile
-+++ b/css/Makefile
-@@ -27,6 +27,9 @@ VDRDIR ?= ../../../..
-
- -include $(VDRDIR)/Make.config
-
-+# libc++
-+CXXFLAGS+= -std=c++11
-+
- ### Includes and Defines (add further entries here):
-
- INCLUDES += -I$(VDRDIR)/include -I..
---- a/httpd/Makefile
-+++ b/httpd/Makefile
-@@ -5,6 +5,9 @@ CXXFLAGS ?= -O2 -Woverloaded-virtual -Wa
-
- CXXFLAGS += `tntnet-config --cxxflags`
-
-+# libc++
-+CXXFLAGS+= -std=c++11
-+
- ### Includes and Defines (add further entries here):
-
- INCLUDES += -I.
---- a/javascript/Makefile
-+++ b/javascript/Makefile
-@@ -27,6 +27,9 @@ VDRDIR ?= ../../../..
-
- -include $(VDRDIR)/Make.config
-
-+# libc++
-+CXXFLAGS+= -std=c++11
-+
- ### Includes and Defines (add further entries here):
-
- INCLUDES += -I$(VDRDIR)/include -I..
---- a/pages/Makefile
-+++ b/pages/Makefile
-@@ -27,6 +27,9 @@ VDRDIR = /usr/local/include/vdr
-
- -include $(VDRDIR)/Make.config
-
-+# libc++
-+CXXFLAGS+= -std=c++11
-+
- ### Includes and Defines (add further entries here):
-
- INCLUDES += -I$(VDRDIR)/include -I..
diff --git a/www/vdr-plugin-live/files/gen_version_suffix.h b/www/vdr-plugin-live/files/gen_version_suffix.h
deleted file mode 100644
index f6f2bba0ebb5..000000000000
--- a/www/vdr-plugin-live/files/gen_version_suffix.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* ATTENTION: this file is automatically generated and will be overwritten!
- * Manual changes will get lost!
- */
-#ifndef GEN_VERSION_SUFFIX_H
-#define GEN_VERSION_SUFFIX_H
-#define VERSION_SUFFIX "_git_release/0.3.x+0200"
-#endif
diff --git a/www/vdr-plugin-live/files/patch-042724e30d5690ab67a6c04aea48a16b9a3b085b b/www/vdr-plugin-live/files/patch-042724e30d5690ab67a6c04aea48a16b9a3b085b
deleted file mode 100644
index 608193429589..000000000000
--- a/www/vdr-plugin-live/files/patch-042724e30d5690ab67a6c04aea48a16b9a3b085b
+++ /dev/null
@@ -1,292 +0,0 @@
-From 042724e30d5690ab67a6c04aea48a16b9a3b085b Mon Sep 17 00:00:00 2001
-From: Dieter Hametner
-Date: Thu, 02 May 2013 23:37:41 +0000
-Subject: Make LIVE compile and work with Tntnet and cxxtools version 2.2.
-
-Thanks to Tommi Mäkitalo for his help on resolving the issues.
-This problem was reported by Martin Gansser and by the user 'varas' in
-the bugtracker as bug #1351. This commit fixes that bug.
----
-diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
-index 51018bb..80f145b 100644
---- a/pages/recordings.ecpp
-+++ b/pages/recordings.ecpp
-@@ -205,7 +205,11 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) {
- <& rec_item_dir name=(recItem->Name()) level=(level) &>
- <%cpp>
- #if TNT_HAS_QUERYPARAMS
-+#if TNT_QUERYPARAMS_NO_BOOL
-+ tnt::QueryParams recItemParams(qparam);
-+#else
- tnt::QueryParams recItemParams(qparam, false);
-+#endif
- #else
- cxxtools::QueryParams recItemParams(qparam, false);
- #endif
-diff --git a/tntconfig.cpp b/tntconfig.cpp
-index 3a1fd14..3325776 100644
---- a/tntconfig.cpp
-+++ b/tntconfig.cpp
-@@ -3,7 +3,13 @@
- #include <fstream>
- #include <sstream>
- #include <stdexcept>
-+#include "tntfeatures.h"
-+#if TNT_LOG_SERINFO
-+#include <cxxtools/log.h>
-+#include <cxxtools/xml/xmldeserializer.h>
-+#else
- #include <cxxtools/loginit.h>
-+#endif
- #include <tnt/sessionscope.h>
- #include <tnt/httpreply.h>
- #include <vdr/config.h>
-@@ -181,19 +187,67 @@ namespace vdrlive {
- #endif
-
- #if TNT_CONFIG_INTERNAL
-+ namespace {
-+ std::string GetResourcePath()
-+ {
-+#if APIVERSNUM > 10729
-+ string resourceDir(Plugin::GetResourceDirectory());
-+ return resourceDir;
-+#else
-+ string configDir(Plugin::GetConfigDirectory());
-+ return configDir;
-+#endif
-+ }
-+
-+ void MapUrl(tnt::Tntnet & app, const char *rule, const char * component, std::string const & instPath, const char * pathInfo, const char * mime_type)
-+ {
-+#if TNT_MAPURL_NAMED_ARGS
-+ tnt::Mapping::args_type argMap;
-+ argMap.insert(std::make_pair("mime-type", mime_type));
-+#endif
-+ app.mapUrl(rule, component)
-+ .setPathInfo(instPath + pathInfo)
-+#if TNT_MAPURL_NAMED_ARGS
-+ .setArgs(argMap);
-+#else
-+ .pushArg(mime_type);
-+#endif
-+ }
-+ }
-+
- void TntConfig::Configure(tnt::Tntnet& app) const
- {
- string const configDir(Plugin::GetConfigDirectory());
--#if APIVERSNUM > 10729
-- string const resourceDir(Plugin::GetResourceDirectory());
--#endif
-
-+#if TNT_LOG_SERINFO
-+ cxxtools::SerializationInfo si;
-+ std::istringstream logXmlConf(
-+ "<logging>\n"
-+ " <rootlogger>" + LiveSetup().GetTntnetLogLevel() + "</rootlogger>\n"
-+ " <loggers>\n"
-+ " <logger>\n"
-+ " <category>cxxtools</category>\n"
-+ " <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
-+ " </logger>\n"
-+ " <logger>\n"
-+ " <category>tntnet</category>\n"
-+ " <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
-+ " </logger>\n"
-+ " </loggers>\n"
-+ "</logging>\n"
-+ );
-+ cxxtools::xml::XmlDeserializer d(logXmlConf);
-+ d.deserialize(si);
-+ log_init(si);
-+#else
- std::istringstream logConf(
- "rootLogger=" + LiveSetup().GetTntnetLogLevel() + "\n"
- "logger.tntnet=" + LiveSetup().GetTntnetLogLevel() + "\n"
- "logger.cxxtools=" + LiveSetup().GetTntnetLogLevel() + "\n"
- );
-+
- log_init(logConf);
-+#endif
-
- // +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++
- // ------------------------------------------------------------------------
-@@ -229,13 +283,12 @@ namespace vdrlive {
-
- // the following selects the theme specific 'theme.css' file
- // inserted by 'tadi' -- verified with above, but not counterchecked yet!
-- app.mapUrl("^/themes/([^/]*)/css.*/(.+\\.css)", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/themes/$1/css/$2")
--#else
-- .setPathInfo(configDir + "/themes/$1/css/$2")
--#endif
-- .pushArg("text/css");
-+ MapUrl(app,
-+ "^/themes/([^/]*)/css.*/(.+\\.css)",
-+ "content",
-+ GetResourcePath(),
-+ "/themes/$1/css/$2",
-+ "text/css");
-
- // the following rules provide a search scheme for images. The first
- // rule where a image is found, terminates the search.
-@@ -243,79 +296,82 @@ namespace vdrlive {
- // 2. /img/<imgname>.<ext>
- // deprecated: 3. <imgname>.<ext> (builtin images)
- // inserted by 'tadi' -- verified with above, but not counterchecked yet!
-- app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/themes/$1/img/$2.$3")
--#else
-- .setPathInfo(configDir + "/themes/$1/img/$2.$3")
--#endif
-- .pushArg("image/$3");
-- app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/img/$2.$3")
--#else
-- .setPathInfo(configDir + "/img/$2.$3")
--#endif
-- .pushArg("image/$3");
-+ MapUrl(app,
-+ "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
-+ "content",
-+ GetResourcePath(),
-+ "/themes/$1/img/$2.$3",
-+ "image/$3");
-+
-+ MapUrl(app,
-+ "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
-+ "content",
-+ GetResourcePath(),
-+ "/img/$2.$3",
-+ "image/$3");
- // deprecated: file << "MapUrl ^/themes/([^/]*)/img.*/(.+)\\.(.+) $2@" << endl;
-
- // Epg images
- string const epgImgPath(LiveSetup().GetEpgImageDir());
- if (!epgImgPath.empty()) {
- // inserted by 'tadi' -- verified with above, but not counterchecked yet!
-- app.mapUrl("^/epgimages/([^/]*)\\.([^./]+)", "content")
-- .setPathInfo(epgImgPath + "/$1.$2")
-- .pushArg("image/$2");
-+ MapUrl(app,
-+ "^/epgimages/([^/]*)\\.([^./]+)",
-+ "content",
-+ epgImgPath,
-+ "/$1.$2",
-+ "image/$2");
- }
-
- // select additional (not build in) javascript.
- // WARNING: no path components with '.' in the name are allowed. Only
- // the basename may contain dots and must end with '.js'
- // inserted by 'tadi' -- verified with above, but not counterchecked yet!
-- app.mapUrl("^/js(/[^.]*)([^/]*\\.js)", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/js$1$2")
--#else
-- .setPathInfo(configDir + "/js$1$2")
--#endif
-- .pushArg("text/javascript");
-+ MapUrl(app,
-+ "^/js(/[^.]*)([^/]*\\.js)",
-+ "content",
-+ GetResourcePath(),
-+ "/js$1$2",
-+ "text/javascript");
-
- // map to 'css/basename(uri)'
- // inserted by 'tadi' -- verified with above, but not counterchecked yet!
-- app.mapUrl("^/css.*/(.+)", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/css/$1")
--#else
-- .setPathInfo(configDir + "/css/$1")
--#endif
-- .pushArg("text/css");
-+ MapUrl(app,
-+ "^/css.*/(.+)",
-+ "content",
-+ GetResourcePath(),
-+ "/css/$1",
-+ "text/css");
-
- // map to 'img/basename(uri)'
- // inserted by 'tadi' -- verified with above, but not counterchecked yet!
-- app.mapUrl("^/img.*/(.+)\\.([^.]+)", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/img/$1.$2")
--#else
-- .setPathInfo(configDir + "/img/$1.$2")
--#endif
-- .pushArg("image/$2");
-+ MapUrl(app,
-+ "^/img.*/(.+)\\.([^.]+)",
-+ "content",
-+ GetResourcePath(),
-+ "/img/$1.$2",
-+ "image/$2");
-
- // Map favicon.ico into img directory
-- app.mapUrl("^/favicon.ico$", "content")
--#if APIVERSNUM > 10729
-- .setPathInfo(resourceDir + "/img/favicon.ico")
--#else
-- .setPathInfo(configDir + "/img/favicon.ico")
--#endif
-- .pushArg("image/x-icon");
-+ MapUrl(app,
-+ "^/favicon.ico$",
-+ "content",
-+ GetResourcePath(),
-+ "/img/favicon.ico",
-+ "image/x-icon");
-
- // takes first path components without 'extension' when it does not
- // contain '.'
- // modified by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/([^./]+)(.*)?", "$1");
-
-+#if TNT_GLOBAL_TNTCONFIG
-+ tnt::TntConfig::it().sessionTimeout = 86400;
-+ tnt::TntConfig::it().defaultContentType = string("text/html; charset=") + LiveI18n().CharacterEncoding();
-+#else
- tnt::Sessionscope::setDefaultTimeout(86400);
- tnt::HttpReply::setDefaultContentType(string("text/html; charset=") + LiveI18n().CharacterEncoding());
-+#endif
-
- Setup::IpList const& ips = LiveSetup().GetServerIps();
- int port = LiveSetup().GetServerPort();
-diff --git a/tntfeatures.h b/tntfeatures.h
-index 6de1f88..76d3757 100644
---- a/tntfeatures.h
-+++ b/tntfeatures.h
-@@ -17,6 +17,9 @@
- // Query params are now in tntnet and not in cxxtools
- #define TNT_HAS_QUERYPARAMS (TNTVERSION >= 16060)
-
-+// Query params without boolean parameter
-+#define TNT_QUERYPARAMS_NO_BOOL (TNTVERSION >= 22000)
-+
- // One can request the host part of the request url
- #define TNT_HAS_GETHOST (TNTVERSION >= 16060)
-
-@@ -26,4 +29,13 @@
- // version of TNTNET that binds ipv6 addresses with IPV6_V6ONLY flag set to true
- #define TNT_IPV6_V6ONLY (CXXTOOLVER >= 21000)
-
-+// version of TNTNET with properties deserializer for logger configuration args.
-+#define TNT_LOG_SERINFO (CXXTOOLVER >= 22000)
-+
-+// version of TNTNET wich expects name, value mappings for Url-Mapper arguments.
-+#define TNT_MAPURL_NAMED_ARGS (TNTVERSION >= 22000)
-+
-+// version of TNTNET where configuration is global
-+#define TNT_GLOBAL_TNTCONFIG (TNTVERSION >= 22000)
-+
- #endif // VDR_LIVE_TNTFEATURES_H
---
-cgit v0.9.0.2-40-g7c79
diff --git a/www/vdr-plugin-live/files/patch-1a1f2e0754b02c5597debbe82f27b759f23cd6fe b/www/vdr-plugin-live/files/patch-1a1f2e0754b02c5597debbe82f27b759f23cd6fe
deleted file mode 100644
index 84a722eef5cf..000000000000
--- a/www/vdr-plugin-live/files/patch-1a1f2e0754b02c5597debbe82f27b759f23cd6fe
+++ /dev/null
@@ -1,66 +0,0 @@
-From 1a1f2e0754b02c5597debbe82f27b759f23cd6fe Mon Sep 17 00:00:00 2001
-From: Dieter Hametner
-Date: Fri, 12 Apr 2013 23:02:02 +0000
-Subject: Fixed status toggle of timers, via the edit_timer dialog.
-
-This bug was reported by user 'mhanu' in bug #1332.
----
-diff --git a/pages/edit_timer.ecpp b/pages/edit_timer.ecpp
-index 299f35a..0fe253c 100644
---- a/pages/edit_timer.ecpp
-+++ b/pages/edit_timer.ecpp
-@@ -26,7 +26,7 @@ using namespace vdrlive;
- string async;
- // form parameters
- tChannelID channel;
-- bool active = true;
-+ int active = 1;
- string title = "";
- string date = "";
- bool wday_mon = false;
-@@ -44,7 +44,7 @@ using namespace vdrlive;
- int priority = 0;
- int lifetime = 0;
- string aux = "";
-- string directory = "";
-+ string directory = "";
- </%args>
- <%session scope="global">
- bool logged_in(false);
-@@ -141,7 +141,7 @@ cTimer* timer;
- title = title.substr(directory.size()+1);
- }
- }
-- // TRANSLATORS: only adjust the ordering and separators, don't translate the m's, d's and y's
-+ // TRANSLATORS: only adjust the ordering and separators, don't translate the m's, d's and y's
- date = timer->Day() ? DatePickerToC(timer->Day(), tr("mm/dd/yyyy")) : "";
- wday_mon = timer->WeekDays() & 0x01;
- wday_tue = timer->WeekDays() & 0x02;
-@@ -226,7 +226,7 @@ cTimer* timer;
- for (RecordingDirs::iterator rdir = recordingdirs.begin(); rdir != recordingdirs.end(); ++rdir) {
- std::string dir = *rdir;
- </%cpp>
-- <option value="<$ dir $>"
-+ <option value="<$ dir $>"
- % if (*rdir == directory) {
- selected="selected"
- % }
-diff --git a/pages/timers.ecpp b/pages/timers.ecpp
-index 2a9ee4c..66b5235 100644
---- a/pages/timers.ecpp
-+++ b/pages/timers.ecpp
-@@ -49,10 +49,12 @@ static const size_t maximumDescriptionLength = 300;
- throw HtmlError( tr("Sorry, no permission. Please contact your administrator!") );
- LiveTimerManager().DelTimer(timer);
- timerNotifier.SetTimerModification();
-+ return reply.redirect("timers.html");
- }
- if (action == "toggle") {
- LiveTimerManager().ToggleTimerActive(timer);
- timerNotifier.SetTimerModification();
-+ return reply.redirect("timers.html");
- }
- }
-
---
-cgit v0.9.0.2-40-g7c79
diff --git a/www/vdr-plugin-live/files/patch-69f84f95fa875c6f562294b1a6a1ea6f584d3f6c b/www/vdr-plugin-live/files/patch-69f84f95fa875c6f562294b1a6a1ea6f584d3f6c
deleted file mode 100644
index 292bf00832a6..000000000000
--- a/www/vdr-plugin-live/files/patch-69f84f95fa875c6f562294b1a6a1ea6f584d3f6c
+++ /dev/null
@@ -1,27 +0,0 @@
-From 69f84f95fa875c6f562294b1a6a1ea6f584d3f6c Mon Sep 17 00:00:00 2001
-From: Dieter Hametner
-Date: Sat, 04 May 2013 20:27:09 +0000
-Subject: With tntnet v2.2 use also the request.getArg(<name>) function.
-
-In the previous commit support for tntnet 2.2 was added. The URL
-mapping changed in that version and allows now named arguments. This
-change makes uses of this feature now.
----
-diff --git a/pages/content.ecpp b/pages/content.ecpp
-index 27d827c..cde092f 100644
---- a/pages/content.ecpp
-+++ b/pages/content.ecpp
-@@ -17,7 +17,11 @@ bool logged_in(false);
-
- string mime("image/png");
- if (request.getArgsCount() > 0) {
-+#if TNT_MAPURL_NAMED_ARGS
-+ mime = request.getArg("mime-type");
-+#else
- mime = request.getArg(0);
-+#endif
- // dsyslog("vdrlive::content found mime arg (%s)", mime.c_str());
- }
- reply.setContentType(mime);
---
-cgit v0.9.0.2-40-g7c79
diff --git a/www/vdr-plugin-live/files/patch-Makefile b/www/vdr-plugin-live/files/patch-Makefile
deleted file mode 100644
index 51a406566295..000000000000
--- a/www/vdr-plugin-live/files/patch-Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -150,17 +150,21 @@ generate-i18n: i18n-template.h $(I18Npot
- subdirs: $(SUBDIRS)
-
- $(SUBDIRS):
-- @$(MAKE) -C $@ $(MAKECMDGOALS) PLUGINFEATURES="$(PLUGINFEATURES)"
-+ @$(MAKE) -C $@ $(MAKECMDGOALS) PLUGINFEATURES="$(PLUGINFEATURES)" CXX=${CXX}
-
- PAGES:
-- @$(MAKE) -C pages PLUGINFEATURES="$(PLUGINFEATURES)" .dependencies
-+ @$(MAKE) -C pages PLUGINFEATURES="$(PLUGINFEATURES)" .dependencies CXX=${CXX}
-
--$(VERSIONSUFFIX): FORCE
-- ./buildutil/version-util $(VERSIONSUFFIX) || ./buildutil/version-util -F $(VERSIONSUFFIX)
-+#$(VERSIONSUFFIX): FORCE
-+# ./buildutil/version-util $(VERSIONSUFFIX) || ./buildutil/version-util -F $(VERSIONSUFFIX)
-
- libvdr-$(PLUGIN).so: $(VERSIONSUFFIX) $(SUBDIRS) $(PLUGINOBJS)
- $(CXX) $(LDFLAGS) -shared -o $@ $(PLUGINOBJS) -Wl,--whole-archive $(WEBLIBS) -Wl,--no-whole-archive $(LIBS)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- ifneq ($(TNTVERS7),yes)
- @echo ""
-@@ -198,6 +202,9 @@ clean: $(SUBDIRS)
- @-rm -f $(PLUGINOBJS) $(DEPFILE) *.so *.tgz core* *~
- @-rm -f $(VERSIONSUFFIX)
-
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+
- .PRECIOUS: $(I18Npo)
-
- FORCE:
diff --git a/www/vdr-plugin-live/files/patch-libcxx b/www/vdr-plugin-live/files/patch-libcxx
deleted file mode 100644
index f1f37f11c4e1..000000000000
--- a/www/vdr-plugin-live/files/patch-libcxx
+++ /dev/null
@@ -1,259 +0,0 @@
---- a/cache.h
-+++ b/cache.h
-@@ -25,7 +25,11 @@ class cache
- public:
- typedef TKey key_type;
- typedef TValue mapped_type;
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ typedef std::shared_ptr< mapped_type > ptr_type;
-+#else
- typedef std::tr1::shared_ptr< mapped_type > ptr_type;
-+#endif
-
- private:
- /*struct Value
---- a/epg_events.h
-+++ b/epg_events.h
-@@ -18,7 +18,11 @@ namespace vdrlive
-
- class EpgInfo;
-
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ typedef std::shared_ptr<EpgInfo> EpgInfoPtr;
-+#else
- typedef std::tr1::shared_ptr<EpgInfo> EpgInfoPtr;
-+#endif
-
- // -------------------------------------------------------------------------
-
---- a/pages/epginfo.ecpp
-+++ b/pages/epginfo.ecpp
-@@ -23,7 +23,11 @@ namespace vdrlive {
- cSchedulesLock m_schedulesLock;
- };
-
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ typedef std::shared_ptr<SchedulesLock> SchedulesLockPtr;
-+#else
- typedef std::tr1::shared_ptr<SchedulesLock> SchedulesLockPtr;
-+#endif
- }
-
- using namespace vdrlive;
---- a/recman.h
-+++ b/recman.h
-@@ -5,6 +5,7 @@
- #include <map>
- #include <vector>
- #include <list>
-+#include <string>
- #include <vdr/recording.h>
- #include "stdext.h"
-
-@@ -12,7 +13,11 @@ namespace vdrlive {
-
- // Forward declations from epg_events.h
- class EpgInfo;
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ typedef std::shared_ptr<EpgInfo> EpgInfoPtr;
-+#else
- typedef std::tr1::shared_ptr<EpgInfo> EpgInfoPtr;
-+#endif
-
- /**
- * Some forward declarations
-@@ -26,9 +31,15 @@ namespace vdrlive {
- class DirectoryListPtr;
- class RecordingsItem;
-
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ typedef std::shared_ptr< RecordingsManager > RecordingsManagerPtr;
-+ typedef std::shared_ptr< RecordingsItem > RecordingsItemPtr;
-+ typedef std::weak_ptr< RecordingsItem > RecordingsItemWeakPtr;
-+#else
- typedef std::tr1::shared_ptr< RecordingsManager > RecordingsManagerPtr;
- typedef std::tr1::shared_ptr< RecordingsItem > RecordingsItemPtr;
- typedef std::tr1::weak_ptr< RecordingsItem > RecordingsItemWeakPtr;
-+#endif
- typedef std::multimap< std::string, RecordingsItemPtr > RecordingsMap;
-
-
-@@ -121,10 +132,17 @@ namespace vdrlive {
-
- static RecordingsManagerPtr EnsureValidData();
-
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ static std::weak_ptr< RecordingsManager > m_recMan;
-+ static std::shared_ptr< RecordingsTree > m_recTree;
-+ static std::shared_ptr< RecordingsList > m_recList;
-+ static std::shared_ptr< DirectoryList > m_recDirs;
-+#else
- static std::tr1::weak_ptr< RecordingsManager > m_recMan;
- static std::tr1::shared_ptr< RecordingsTree > m_recTree;
- static std::tr1::shared_ptr< RecordingsList > m_recList;
- static std::tr1::shared_ptr< DirectoryList > m_recDirs;
-+#endif
- static int m_recordingsState;
-
- cThreadLock m_recordingsLock;
-@@ -257,12 +275,20 @@ namespace vdrlive {
- * A smart pointer to a recordings tree. As long as an instance of this
- * exists the recordings are locked in the vdr.
- */
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ class RecordingsTreePtr : public std::shared_ptr< RecordingsTree >
-+#else
- class RecordingsTreePtr : public std::tr1::shared_ptr< RecordingsTree >
-+#endif
- {
- friend class RecordingsManager;
-
- private:
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ RecordingsTreePtr(RecordingsManagerPtr recManPtr, std::shared_ptr< RecordingsTree > recTree);
-+#else
- RecordingsTreePtr(RecordingsManagerPtr recManPtr, std::tr1::shared_ptr< RecordingsTree > recTree);
-+#endif
-
- public:
- RecordingsTreePtr();
-@@ -286,8 +312,13 @@ namespace vdrlive {
-
- private:
- RecordingsList(RecordingsTreePtr recTree);
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ RecordingsList(std::shared_ptr< RecordingsList > recList, bool ascending);
-+ RecordingsList(std::shared_ptr< RecordingsList > recList, time_t begin, time_t end, bool ascending);
-+#else
- RecordingsList(std::tr1::shared_ptr< RecordingsList > recList, bool ascending);
- RecordingsList(std::tr1::shared_ptr< RecordingsList > recList, time_t begin, time_t end, bool ascending);
-+#endif
-
- public:
- typedef std::vector< RecordingsItemPtr > RecVecType;
-@@ -333,12 +364,20 @@ namespace vdrlive {
- * A smart pointer to a recordings list. As long as an instance of this
- * exists the recordings are locked in the vdr.
- */
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ class RecordingsListPtr : public std::shared_ptr< RecordingsList >
-+#else
- class RecordingsListPtr : public std::tr1::shared_ptr< RecordingsList >
-+#endif
- {
- friend class RecordingsManager;
-
- private:
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ RecordingsListPtr(RecordingsManagerPtr recManPtr, std::shared_ptr< RecordingsList > recList);
-+#else
- RecordingsListPtr(RecordingsManagerPtr recManPtr, std::tr1::shared_ptr< RecordingsList > recList);
-+#endif
-
- public:
- virtual ~RecordingsListPtr();
-@@ -378,12 +417,20 @@ namespace vdrlive {
- * A smart pointer to a directory list. As long as an instance of this
- * exists the recordings are locked in the vdr.
- */
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ class DirectoryListPtr : public std::shared_ptr< DirectoryList >
-+#else
- class DirectoryListPtr : public std::tr1::shared_ptr< DirectoryList >
-+#endif
- {
- friend class RecordingsManager;
-
- private:
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ DirectoryListPtr(RecordingsManagerPtr recManPtr, std::shared_ptr< DirectoryList > recDirs);
-+#else
- DirectoryListPtr(RecordingsManagerPtr recManPtr, std::tr1::shared_ptr< DirectoryList > recDirs);
-+#endif
-
- public:
- virtual ~DirectoryListPtr();
---- a/recman.cpp
-+++ b/recman.cpp
-@@ -14,7 +14,9 @@
- #define INDEXFILESUFFIX "/index.vdr"
- #define LENGTHFILESUFFIX "/length.vdr"
-
-+#if !defined(_LIBCPP_VERSION) && __cplusplus < 201103L
- using namespace std::tr1;
-+#endif
- using namespace std;
-
- namespace vdrlive {
-@@ -548,7 +550,11 @@ namespace vdrlive {
- {
- }
-
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ RecordingsTreePtr::RecordingsTreePtr(RecordingsManagerPtr recManPtr, std::shared_ptr< RecordingsTree > recTree) :
-+#else
- RecordingsTreePtr::RecordingsTreePtr(RecordingsManagerPtr recManPtr, std::tr1::shared_ptr< RecordingsTree > recTree) :
-+#endif
- shared_ptr<RecordingsTree>(recTree),
- m_recManPtr(recManPtr)
- {
---- a/grab.h
-+++ b/grab.h
-@@ -6,7 +6,11 @@
-
- namespace vdrlive {
-
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+typedef std::shared_ptr< char > GrabImagePtr;
-+#else
- typedef std::tr1::shared_ptr< char > GrabImagePtr;
-+#endif
- typedef std::pair< GrabImagePtr, int > GrabImageInfo;
-
- class GrabImageTask;
---- a/tasks.cpp
-+++ a/tasks.cpp
-@@ -1,4 +1,5 @@
- #include <algorithm>
-+#include <functional>
- #include <vdr/channels.h>
- #include <vdr/i18n.h>
- #include <vdr/menu.h>
-@@ -14,8 +15,12 @@
- namespace vdrlive {
-
- using namespace std;
-+#if !defined(_LIBCPP_VERSION) && __cplusplus < 201103L
- using namespace std::tr1;
- using namespace std::tr1::placeholders;
-+#else
-+using namespace std::placeholders;
-+#endif
-
- const char* NowReplaying()
- {
-@@ -253,8 +258,8 @@ void TaskManager::DoScheduledTasks()
- current->Action();
- m_taskQueue.pop_front();
- }*/
-- for_each( m_taskQueue.begin(), m_taskQueue.end(), bind( &Task::Action, _1 ) );
-- for_each( m_stickyTasks.begin(), m_stickyTasks.end(), bind( &Task::Action, _1 ) );
-+ for_each( m_taskQueue.begin(), m_taskQueue.end(), std::bind( &Task::Action, _1 ) );
-+ for_each( m_stickyTasks.begin(), m_stickyTasks.end(), std::bind( &Task::Action, _1 ) );
- m_taskQueue.clear();
- m_scheduleWait.Broadcast();
- }
---- a/timerconflict.h
-+++ b/timerconflict.h
-@@ -65,7 +65,11 @@ namespace vdrlive {
- class TimerConflictNotifier
- {
- public:
-+#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
-+ typedef std::shared_ptr<TimerConflicts> TimerConflictsPtr;
-+#else
- typedef std::tr1::shared_ptr<TimerConflicts> TimerConflictsPtr;
-+#endif
-
- TimerConflictNotifier();
- virtual ~TimerConflictNotifier();
diff --git a/www/vdr-plugin-live/files/patch-live.cpp b/www/vdr-plugin-live/files/patch-live.cpp
deleted file mode 100644
index 7090cdbd062c..000000000000
--- a/www/vdr-plugin-live/files/patch-live.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/live.cpp
-+++ b/live.cpp
-@@ -46,10 +46,19 @@ bool Plugin::ProcessArgs(int argc, char
-
- bool Plugin::Start(void)
- {
-- m_configDirectory = canonicalize_file_name(cPlugin::ConfigDirectory( PLUGIN_NAME_I18N ));
-+#ifdef __FreeBSD__
-+ char buf[PATH_MAX], buf2[PATH_MAX];
-+
-+ m_configDirectory = realpath(cPlugin::ConfigDirectory( PLUGIN_NAME_I18N ), buf);
-+#if APIVERSNUM > 10729
-+ m_resourceDirectory = realpath(cPlugin::ResourceDirectory( PLUGIN_NAME_I18N ), buf2);
-+#endif
-+#else
-+ m_configDirectory = canonicalize_file_name(cPlugin::ConfigDirectory( PLUGIN_NAME_I18N ));
- #if APIVERSNUM > 10729
- m_resourceDirectory = canonicalize_file_name(cPlugin::ResourceDirectory( PLUGIN_NAME_I18N ));
- #endif
-+#endif
-
- #if VDRVERSNUM < 10507
- RegisterI18n( vdrlive::Phrases );
diff --git a/www/vdr-plugin-live/files/patch-pages-multischedule.ecpp b/www/vdr-plugin-live/files/patch-pages-multischedule.ecpp
deleted file mode 100644
index 7ab07f578f38..000000000000
--- a/www/vdr-plugin-live/files/patch-pages-multischedule.ecpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/pages/multischedule.ecpp.orig
-+++ b/pages/multischedule.ecpp
-@@ -295,7 +295,7 @@ pageTitle = tr("MultiSchedule");
- cChannel* Channel = Channels.GetByNumber( chan );
- if ( ! Channel )
- continue;
-- if ( Channel->GroupSep() || Channel->Name() == '\0' )
-+ if ( Channel->GroupSep() || *Channel->Name() == '\0' )
- continue;
- channel_names[ j ] = Channel->Name();
- channel_IDs[ j ] = Channel->GetChannelID();
diff --git a/www/vdr-plugin-live/files/patch-tools.cpp b/www/vdr-plugin-live/files/patch-tools.cpp
deleted file mode 100644
index c96edad93ba5..000000000000
--- a/www/vdr-plugin-live/files/patch-tools.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/tools.cpp
-+++ a/tools.cpp
-@@ -12,6 +12,9 @@
- #include "tools.h"
- #include "md5.h"
-
-+#ifdef __FreeBSD__
-+#define O_LARGEFILE 0
-+#endif
-
- using namespace std;
- using namespace tnt;
diff --git a/www/vdr-plugin-live/pkg-descr b/www/vdr-plugin-live/pkg-descr
deleted file mode 100644
index ade2a2ba8cd8..000000000000
--- a/www/vdr-plugin-live/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Live-plugin
-
-Live, the "Live Interactive VDR Environment", is a plugin providing the
-possibility to interactively control the VDR and some of it's plugins by
-a web interface.
-
-Unlike external utility programs that communicate with VDR and it's plugins
-by SVDRP, Live has direct access to VDR's data structures and is thus very
-fast.
diff --git a/www/vdr-plugin-live/pkg-plist b/www/vdr-plugin-live/pkg-plist
deleted file mode 100644
index a5579fe08ad6..000000000000
--- a/www/vdr-plugin-live/pkg-plist
+++ /dev/null
@@ -1,198 +0,0 @@
-lib/vdr/libvdr-live.so.%%APIVERSION%%
-@owner %%VDR_USER%%
-@group %%VDR_GROUP%%
-etc/vdr/plugins/live/css/DatePicker.css
-etc/vdr/plugins/live/css/siteprefs.css
-etc/vdr/plugins/live/img/active.png
-etc/vdr/plugins/live/img/arrow.png
-etc/vdr/plugins/live/img/arrow_rec.gif
-etc/vdr/plugins/live/img/bg_box_h.png
-etc/vdr/plugins/live/img/bg_box_l.png
-etc/vdr/plugins/live/img/bg_box_r.png
-etc/vdr/plugins/live/img/bg_header_h.png
-etc/vdr/plugins/live/img/bg_header_l.png
-etc/vdr/plugins/live/img/bg_header_r.png
-etc/vdr/plugins/live/img/bg_line.png
-etc/vdr/plugins/live/img/bg_line_top.png
-etc/vdr/plugins/live/img/bg_tools.png
-etc/vdr/plugins/live/img/button_blue.png
-etc/vdr/plugins/live/img/button_green.png
-etc/vdr/plugins/live/img/button_new.png
-etc/vdr/plugins/live/img/button_red.png
-etc/vdr/plugins/live/img/button_yellow.png
-etc/vdr/plugins/live/img/close.png
-etc/vdr/plugins/live/img/close_red.png
-etc/vdr/plugins/live/img/del.png
-etc/vdr/plugins/live/img/edit.png
-etc/vdr/plugins/live/img/english.png
-etc/vdr/plugins/live/img/favicon.ico
-etc/vdr/plugins/live/img/ffw.png
-etc/vdr/plugins/live/img/file.png
-etc/vdr/plugins/live/img/folder_closed.png
-etc/vdr/plugins/live/img/folder_open.png
-etc/vdr/plugins/live/img/german.png
-etc/vdr/plugins/live/img/help.png
-etc/vdr/plugins/live/img/imdb.png
-etc/vdr/plugins/live/img/inactive.png
-etc/vdr/plugins/live/img/info-win-b-l.png
-etc/vdr/plugins/live/img/info-win-b-r.png
-etc/vdr/plugins/live/img/info-win-m-l.png
-etc/vdr/plugins/live/img/info-win-m-r.png
-etc/vdr/plugins/live/img/info-win-t-l.png
-etc/vdr/plugins/live/img/info-win-t-r.png
-etc/vdr/plugins/live/img/logo.png
-etc/vdr/plugins/live/img/logo_login.png
-etc/vdr/plugins/live/img/menu_line_bg.png
-etc/vdr/plugins/live/img/minus.png
-etc/vdr/plugins/live/img/movie.png
-etc/vdr/plugins/live/img/msgbar_line_bg.png
-etc/vdr/plugins/live/img/on_dvd.png
-etc/vdr/plugins/live/img/one_downarrow.png
-etc/vdr/plugins/live/img/one_uparrow.png
-etc/vdr/plugins/live/img/pause.png
-etc/vdr/plugins/live/img/play.png
-etc/vdr/plugins/live/img/plus.png
-etc/vdr/plugins/live/img/record.png
-etc/vdr/plugins/live/img/record_timer.png
-etc/vdr/plugins/live/img/reload.png
-etc/vdr/plugins/live/img/remotecontrol.jpg
-etc/vdr/plugins/live/img/rounded-box-blue-bl.png
-etc/vdr/plugins/live/img/rounded-box-blue-br.png
-etc/vdr/plugins/live/img/rounded-box-blue-ml.png
-etc/vdr/plugins/live/img/rounded-box-blue-mr.png
-etc/vdr/plugins/live/img/rounded-box-blue-tl.png
-etc/vdr/plugins/live/img/rounded-box-blue-tr.png
-etc/vdr/plugins/live/img/rounded-box-green-bl.png
-etc/vdr/plugins/live/img/rounded-box-green-br.png
-etc/vdr/plugins/live/img/rounded-box-green-ml.png
-etc/vdr/plugins/live/img/rounded-box-green-mr.png
-etc/vdr/plugins/live/img/rounded-box-green-tl.png
-etc/vdr/plugins/live/img/rounded-box-green-tr.png
-etc/vdr/plugins/live/img/rounded-box-orange-bl.png
-etc/vdr/plugins/live/img/rounded-box-orange-br.png
-etc/vdr/plugins/live/img/rounded-box-orange-ml.png
-etc/vdr/plugins/live/img/rounded-box-orange-mr.png
-etc/vdr/plugins/live/img/rounded-box-orange-tl.png
-etc/vdr/plugins/live/img/rounded-box-orange-tr.png
-etc/vdr/plugins/live/img/rounded-box-redwine-bl.png
-etc/vdr/plugins/live/img/rounded-box-redwine-br.png
-etc/vdr/plugins/live/img/rounded-box-redwine-ml.png
-etc/vdr/plugins/live/img/rounded-box-redwine-mr.png
-etc/vdr/plugins/live/img/rounded-box-redwine-tl.png
-etc/vdr/plugins/live/img/rounded-box-redwine-tr.png
-etc/vdr/plugins/live/img/rwd.png
-etc/vdr/plugins/live/img/search.png
-etc/vdr/plugins/live/img/stop.png
-etc/vdr/plugins/live/img/stop_update.png
-etc/vdr/plugins/live/img/stream_button.png
-etc/vdr/plugins/live/img/timerconflict.gif
-etc/vdr/plugins/live/img/transparent.png
-etc/vdr/plugins/live/img/tv.jpg
-etc/vdr/plugins/live/img/zap.png
-etc/vdr/plugins/live/js/live/browserwin.js
-etc/vdr/plugins/live/js/live/hinttips.js
-etc/vdr/plugins/live/js/live/infowin.js
-etc/vdr/plugins/live/js/live/liveajax.js
-etc/vdr/plugins/live/js/live/pageenhance.js
-etc/vdr/plugins/live/js/live/vdr_status.js
-etc/vdr/plugins/live/js/live/vlc.js
-etc/vdr/plugins/live/js/mootools/DatePicker.js
-etc/vdr/plugins/live/js/mootools/mootools.v1.11.js
-etc/vdr/plugins/live/js/mootools/readme.mootools.config
-etc/vdr/plugins/live/themes/marine/css/theme.css
-etc/vdr/plugins/live/themes/marine/img/zap.png
-etc/vdr/plugins/live/themes/orange-blue/css/theme.css
-etc/vdr/plugins/live/themes/orange-blue/img/bg_box_h.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_box_l.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_box_r.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_header_h.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_header_l.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_header_r.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_line.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_line_top.png
-etc/vdr/plugins/live/themes/orange-blue/img/bg_tools.png
-etc/vdr/plugins/live/themes/orange-blue/img/info-win-b-l.png
-etc/vdr/plugins/live/themes/orange-blue/img/info-win-b-r.png
-etc/vdr/plugins/live/themes/orange-blue/img/info-win-m-l.png
-etc/vdr/plugins/live/themes/orange-blue/img/info-win-m-r.png
-etc/vdr/plugins/live/themes/orange-blue/img/info-win-t-l.png
-etc/vdr/plugins/live/themes/orange-blue/img/info-win-t-r.png
-etc/vdr/plugins/live/themes/orange-blue/img/logo.png
-etc/vdr/plugins/live/themes/orange-blue/img/menu_line_bg.png
-etc/vdr/plugins/live/themes/orange-blue/img/remotecontrol.jpg
-etc/vdr/plugins/live/themes/orange-blue/img/tv.jpg
-etc/vdr/plugins/live/themes/orange-blue/img/zap.png
-etc/vdr/plugins/live/themes/redwine/css/theme.css
-etc/vdr/plugins/live/themes/redwine/img/bg_box_h.png
-etc/vdr/plugins/live/themes/redwine/img/bg_box_l.png
-etc/vdr/plugins/live/themes/redwine/img/bg_box_r.png
-etc/vdr/plugins/live/themes/redwine/img/bg_header_h.png
-etc/vdr/plugins/live/themes/redwine/img/bg_header_l.png
-etc/vdr/plugins/live/themes/redwine/img/bg_header_r.png
-etc/vdr/plugins/live/themes/redwine/img/bg_line.png
-etc/vdr/plugins/live/themes/redwine/img/bg_line_top.png
-etc/vdr/plugins/live/themes/redwine/img/bg_tools.png
-etc/vdr/plugins/live/themes/redwine/img/menu_line_bg.png
-etc/vdr/plugins/live/themes/redwine/img/zap.png
-etc/vdr/plugins/live/themes/veltliner/css/theme.css
-etc/vdr/plugins/live/themes/veltliner/img/bg_box_h.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_box_h1.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_box_l.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_box_r.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_header_h.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_header_l.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_header_r.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_line.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_line_top.png
-etc/vdr/plugins/live/themes/veltliner/img/bg_tools.png
-etc/vdr/plugins/live/themes/veltliner/img/button_blue.png
-etc/vdr/plugins/live/themes/veltliner/img/info-win-t-l.png
-etc/vdr/plugins/live/themes/veltliner/img/info-win-t-r.png
-etc/vdr/plugins/live/themes/veltliner/img/logo.png
-etc/vdr/plugins/live/themes/veltliner/img/logo_login.png
-etc/vdr/plugins/live/themes/veltliner/img/menu_line_bg.png
-etc/vdr/plugins/live/themes/veltliner/img/zap.png
-@dir etc/vdr/plugins/live/css
-@dir etc/vdr/plugins/live/img
-@dir etc/vdr/plugins/live/js/live
-@dir etc/vdr/plugins/live/js/mootools
-@dir etc/vdr/plugins/live/js
-@dir etc/vdr/plugins/live/themes/marine/css
-@dir etc/vdr/plugins/live/themes/marine/img
-@dir etc/vdr/plugins/live/themes/marine
-@dir etc/vdr/plugins/live/themes/veltliner/css
-@dir etc/vdr/plugins/live/themes/veltliner/img
-@dir etc/vdr/plugins/live/themes/veltliner
-@dir etc/vdr/plugins/live/themes/orange-blue/css
-@dir etc/vdr/plugins/live/themes/orange-blue/img
-@dir etc/vdr/plugins/live/themes/orange-blue
-@dir etc/vdr/plugins/live/themes/redwine/css
-@dir etc/vdr/plugins/live/themes/redwine/img
-@dir etc/vdr/plugins/live/themes/redwine
-@dir etc/vdr/plugins/live/themes
-@dir etc/vdr/plugins/live
-@owner
-@group
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-live.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-live.mo