today I published streamdev 0.5.2 at
http://projects.vdr-developer.org/projects/plg-streamdev/files which can be
used with VDR 1.6 and 1.7.
I also pushed some changes to git. The current git version now requires at
least VDR 1.7.25 (better 1.7.27) and is completely priority driven. A negative
priority gives precedence to live TV on the server, a priority of zero or more
gives precedence to the client. For HTTP and IGMP multicast the priority is
configured in the streamdev-server setup. The live TV priority of a
streamdev-client is configured in the streamdev-client setup. For legacy
clients (streamdev-client 0.5.1 or older) the priority is configured in
streamdev-server as well. If you want to give the git version a try, I'd be
particularly interested if the following things work like before:
- clients with lower precedence like local live TV
- encrypted channels
- streamdev-server running streamdev-client (e.g. for mutually sharing DVB
cards between two VDRs)
Changelog of streamdev-0.5.2:
- Use fileno() to retrieve the fd from a FILE structure (submitted by an
- New special meaning "show current channel" when channel 0 is requested.
Applies to HTTP streaming only (thanks to Rolf Ahrenberg)
- Added streamdev-client support for upcoming streamdev-server versions
with purely priority driven precedence.
- API change of VDR 1.7.26: "avoid device" is no longer available
- Fixed ProvidesChannel() on client always returning true since the new timeout
option has been added.
- Updated Finnish translation (thanks to Rolf Ahrenberg)
- With VDR 1.7.25 priorities down to -99 will be used. Please update
"Minimum Priority" in streamdev-client setup.
- Use the new streamdev-client setup option "Live TV Priority" to control
precedence among multiple clients. The VDR option "Primary Limit" which
has previouly been used for this purpose has been dropped in VDR 1.7.25.
- Timout for network operations now configurable in streamdev-client setup
- Added timeout to Connect()
- Report the server-side HTTP status "503 Service unavailable" instead of
the client-side error "409 Conflict" when a channel is unavailable
(suggested by Methodus)
- Update of po headers and Finnish translation (thanks to Rolf Ahrenberg)
- support for non-cycle-free setups (e.g. where two VDRs mutually share
their DVB cards through streamdev-client/-server). Must be enabled in
streamdev-server setup. Obsoletes recursion patches.
- API change of VDR 1.7.22
- VDR 1.7.22 obsoletes cap_net_raw patch. Added cap_net_raw patch for VDR
1.7.5 - 1.7.21.
- Update and UTF-8 conversion of Finnish po files (thanks to Rolf Ahrenberg)
- Added "Hide mainmenu entry" option on server (thanks to Rolf Ahrenberg)
- Added server menu with list of clients. Connections can be terminated
with the "red" key. The former main menu action of suspending live TV
moved to the "blue" key.
- code cleanup and optimization (thanks to Ville Skyttä)
- properly shutdown IGMP timeout handler thread when the plugin is stopped.
Fixes occasional segfaults on VDR exit.
- fixed memory leak in libdvbmpeg read_pes (thanks to Ville Skyttä)
- dropped several unused functions in libdvbmpeg
- restricted VTP command RENR to liemikuutio patch < 1.32. Build fails with
newer versions of this patch (thanks to Ville Skyttä)
- updated outdated COPYING file and FSF address (thanks to Ville Skyttä)
- include SDT and TDT in TS streams
- the icy-name HTTP header sent with radio streams makes VLC pick the wrong
demuxer. Send icy-name only for ES audio streams.
- fixed regression of "live TV must be switched in VDR main thread" change:
deadlock in IGMP streaming server when switching live TV.
- streamdev-client returns true in its AvoidRecording() method introduced
with VDR 1.7.19. Note however that the impact of NumProvidedSystems is
- updated device selection to code of VDR 1.7.19
- adaption to VDR 1.7.12 cReceiver API change
- increased WRITERBUFSIZE. Has been reported to fix some ringbuffer
overflows (thanks to Lubo Doleel)
- check availability of channel if VTP command TUNE is called without
prior PROV call (e.g. client side EPG scan)
- added support for VDR 1.7.19 SignalStrength/SignalQuality
- analog video channels use the same transponder and pid for different
channels, so streamdev-client must always issue TUNE command
- server must close the VTP connection also if filter stream is broken
- fixed missing #ifdefs for new NumProvidedSystems setup option
- new externremux.sh mencoder config options: audio pid by language code
(-alang) and verbosity (-msglevel) (thanks to Pekko Tiitto)
- writer must not spend too much time waiting in select() without checking
if the thread has been cancelled
- added Spanish translation (thanks to Javier Bradineras)
- live TV must be switched in VDR main thread
- dropped compatibility with VDR < 1.5.16
- return value of streamdev-clients cDevice::NumProvidedSystems() now
configurable in plugin setup
vdr mailing list