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 externremux.sh, 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
Modified Files:
Tag: v0_4
CONTRIBUTORS HISTORY Makefile README common.c common.h i18n.c
remux/extern.c remux/extern.h server/connection.c
server/connection.h server/connectionHTTP.c
server/connectionHTTP.h server/connectionIGMP.c
server/connectionVTP.c server/livestreamer.c
server/livestreamer.h server/menuHTTP.c server/setup.c
server/setup.h server/streamer.c server/streamer.h
streamdev/externremux.sh streamdev/streamdevhosts.conf
- 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
ringbuffer
Modified Files:
Tag: v0_4
CONTRIBUTORS HISTORY Makefile streamdev-server.c
libdvbmpeg/transform.h remux/extern.c remux/extern.h
remux/ts2es.c remux/ts2es.h remux/ts2ps.c remux/ts2ps.h
remux/tsremux.c remux/tsremux.h server/livestreamer.c
server/livestreamer.h server/streamer.c server/streamer.h
Added Files:
Tag: v0_4
remux/ts2pes.c remux/ts2pes.h
- replaced the last usleep by cCondWait
thanks to Rolf Ahrenberg (#383)
Modified Files:
Tag: v0_4
CONTRIBUTORS HISTORY server/server.c server/server.h
server/streamer.c server/streamer.h server/suspend.c
server/suspend.h
- changed externremux.sh's default location to VDRCONFDIR/plugins/streamdev
- added sample externremux.sh from http://www.vdr-wiki.de/
- 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
Including
- m3u playlists by Petri Hintukainen (#254)
- way to pass parameters to externremux by Rolf Ahrenberg
- using host header for absolute URLs for better DNAT / Reverse Proxy support
should understand this and give precedence. For Internet streaming
it could be used by traffic shapers. Suggested by ollo@vdrportal (#237).
Modified Files:
server/connectionHTTP.c server/connectionVTP.c tools/socket.c
tools/socket.h
- Add cStreamdevFilterStreamer that is binded to current device, not channel
- new streamer can exist even when there is no active data connection (live view)
Modified Files:
server/livestreamer.c server/livestreamer.h
- Add PAT, PMT and PCR to HTTP TS streams
- Dynamically add and remove all related pids (of channel) to TS stream
-> DVB/teletect subtitles work in clients
-> VLC can be used as client
-> HDTV (MPEG4 / H.264) streaming is possible
-> Client can select audio and subtitle tracks on the fly without re-connection -> Client can display "real" track names / languages
- Add new member function to set all pids in one shot
-> Receiver is not deleted, created and re-attached separately for every pid
(this causes discontinous start and is anyway unnecessarily)
Modified Files:
server/livestreamer.c server/livestreamer.h