VDR 1.4.x - 1.5.8

No issues for this version

Version 0.4.0

- fixed wrong URL path in m3u playlists (reported by Norman Thiel)
- set executable in distribution archive
- externremux quality value should be wlan54, not wlan45 (reported by
- using SIGINT in externremux to kill mencoder works better than SIGTERM;
  especially x264 still needs a SIGKILL sometimes
- added --remove-destination to cp commands installing plugins
- updated Italian translation (thanks to Diego Pierotto)
- config option "client may suspend" hidden if not applicable
- updated and enhanced README
- added support for HTTP method HEAD
- rewrite of, including support for various URL parameters,
  logging and improved shutdown
- start externremux script in a separate process group
- changed HTTP URL path for externremux from EXTERN to EXT (suggested by
  Rolf Ahrenberg)
- HTTP headers now have to be emitted by externremux script
- pass channel related information and URL parameters to externremux script
  through environment
- implement CGI like interface for externremux script
- dropped "Synchronize EPG" feature. Please use epgsync-plugin instead
  (available from
- fixed a memory leak in cStreamdevPatFilter::GetPid (thanks to lhanisch)
- length -1 is the correct value for streams in M3U playlists
- added DELT FORCE option to delete running timers (thanks to Alwin Esch)
- fixed missing virtual destructor for cTSRemux
- improved PARENTALRATING patch detection was missing in this branch
- silenced warnings concerning asprintf (requested by Rolf Ahrenberg)
- don't update recordings list on CmdPLAY (reported by BBlack)
- adapted and included xmbc patch for VDR 1.4.x
- cleaned up common.h / common.c
- dropped cStreamdevMenuSetupPage
- report charset in HTTP replies (suggested by Rolf Ahrenberg)
- use SO_KEEPALIVE option on all sockets do detect dead sockets (thanks to
- enable PatFilter for externremux, so VLC can be used as remuxer or client
- fixed insecure format strings in LSTX handlers (thanks to Anssi Hannula)
- updated Finish translation (thanks to Rolf Ahrenberg)
- removed redefinitions in includes - caused problems in older compilers
- fixed ts2ps.h defines
- fixed missing virtual for cTS2PESRemux destructor
- silenced format mismatch warning on 64bit OS
- now there's a common baseclass for all remuxers, make use of it
- added namespace to remuxers
- increased WRITERBUFSIZE - buffer was too small for high bandwidth content
- removed cStreamdevStreamer::m_Running
- eliminated potential busy waits in remuxers
- updated cTSRemux static helpers to code of their VDR 1.6.0 counterparts
- use a copy of VDR 1.6.0's cRemux for TS to PES remuxing.
- make sure that only complete TS packets are written to ringbuffers
- use signaling instead of sleeps when writing to ringbuffers
- optimized cStreamdevPatFilter PAT packet initialization
- fixed cStreamdevPatFilter not processing PATs with length > TS_SIZE - 5
- use a small ringbuffer for cStreamdevPatFilter instead of writing to
  cStreamdevStreamers SendBuffer as two threads mustn't write to the same
- added IGMP based multicast streaming
- ignore trailing blank lines in HTTP requests
- fixed parsing Min/MaxPriority from config (thanks to Joachim König-Baltes)
- updated Finnish translation (thanks to Rolf Ahrenberg)
- added Min/MaxPriority parameters. Can be used to keep client VDR from
  using streamdev e.g. when recording
- added Network Media Tank browser support to HTML pages (thanks to Jori
- minor fixes of PAT repacker
- repack and send every PAT packet we receive
- fixed null pointer in server.c when cConnection::Accept() failes
- consider Pids from channels.conf when HTTP TS streaming. Section filtering
  is an optional feature for VDR devices, so we must not rely on the PMT
  alone (pointed out by wirbel@vdrportal)
- improved externremux script termination (thanks to Rolf Ahrenberg)
- use cThread::Running()/Active() instead of private members (thanks to
  Rolf Ahrenberg)
- fixed output format of some debug messages (thanks to Rolf Ahrenberg)
- added HTTP authentication
- added preprocessor directive for ancient gcc
- added Russian translation (thanks to Oleg Roitburd)
- fixed assignment of's default location (reported by plautze)
- added French translation (thanks to micky979)
- updated Italian translation (thanks to Diego Pierotto)
- removed some unused translations
- added missing German translations
- applied and removed respect_ca patch
- changed location of streamdevhosts.conf to VDRCONFDIR/plugins/streamdev
- changed's default location to VDRCONFDIR/plugins/streamdev
- added sample from
- stop providing channels after client has been disabled at runtime
- added logging of the client device's card index
- changed default suspend mode to "Always suspended" 
- added "Hide Mainmenu Entry" setup option on client
- resurrected clients "Suspend Server" menu item as its mainmenu entry
- dropped unused code for remote timers/recordings on client side
- dropped unused files client/{assembler,menu,remote}.[hc]
- dropped unused files in libdvbmpeg (reported by tobi)
- dropped patches for pre VDR 1.4
- removed legacy code for pre VDR 1.4 (thanks to Rolf Ahrenberg)