- 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
- VDR 1.5.0 calls some device members in different order and
streamdev can't currently handle this.
- do not trust in OpenDvr/CloseDvr, instead keep count of active PIDs,
open data connection when it is needed and close it only when there
are no active PIDs
(closing data connection unsubscribes all pids at server end)
- some sanity checks on server side
Modified Files:
client/device.c client/device.h server/connectionVTP.c
- Use cStreamer (base class) instead of cLiveStreamer
(no need to know streamer type)
* works with cLiveStreamer and cLiveFilterStreamer
* avoid circular dependency
- visibility of cStreamdevLiveReceiver: Moved from livestreamer.h -> .c
Modified Files:
server/livefilter.c server/livefilter.h server/livestreamer.c
server/livestreamer.h