mirror of
https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
synced 2023-10-10 19:16:51 +02:00
abf8a62fe9
http://www.vdr-portal.de/board/thread.php?postid=948311 (reported by wtor)
415 lines
19 KiB
Plaintext
415 lines
19 KiB
Plaintext
VDR Plugin 'streamdev' Revision History
|
||
---------------------------------------
|
||
|
||
- make sure that a client doesn't interrupt replaying on server's FF card
|
||
(reported by wtor)
|
||
- switching away live TV failed even when "always suspended" (reported by
|
||
Michal Novotny)
|
||
- fixed regression: no receiver created for ES/PS/PES (reported by Gavin
|
||
Hamill)
|
||
- VTP no longer uses a static priority value for its server-side receivers.
|
||
The server stores channel and priority requested with the PROV command and
|
||
re-uses these values in a subsequent TUNE for the same channel. The new
|
||
PRIO command is used to update the receiver's priority if necessary.
|
||
- added parameter HEIGHT to externremux.sh
|
||
- fixed syslog messages reporting local instead of remote IP and port
|
||
- fixed regression of the GetDevice(...) change. Filter streaming to clients
|
||
with a recent VDR version no longer worked.
|
||
- log an error if externremux.sh is missing or not executable
|
||
- since VDR 1.5.0 cDevice::GetDevice(...) is no longer a query only method.
|
||
It detaches all receivers of the device it returns. So it is no longer
|
||
suitable for testing the availability of a device. Added a copy of VDR's
|
||
cDevice::GetDevice(...) without the detach receivers part as a workaround
|
||
until a better solution is available
|
||
- added dsyslog messages to help troubleshouting channel switch issues
|
||
- VTP command SUSP didn't attach the player to the primary device
|
||
- fixed incompatibilities with older make versions
|
||
- replacing a connections receiver is now an atomic operation. Solves
|
||
stuttering audio/video due to lost TS packets when adding/removing PIDs
|
||
- disabled attribute warn_unused_result in libdvbmpeg
|
||
- slightly increased thread priorities of cStreamdevWriter/Streamer
|
||
(suggested by Rolf Ahrenberg)
|
||
- fixed missing support for invisible channel groups (groups without name)
|
||
in HTTP menu (reported by Timothy D. Lenz)
|
||
- don't quote actual program call in externremux.sh, so you can run the
|
||
program through e.g. nice or taskset just by extending the variable
|
||
which holds the program name
|
||
- in externremux.sh each mencoder audio and video codec has a dedicated
|
||
variable for a default option string now. Still you can override each
|
||
default option with an URL parameter
|
||
- externremux.sh mencoder now uses scale parameter with negative height
|
||
instead of -xy for scaling (suggested by vel_tins@vdrportal)
|
||
- added FPS (frames per second) parameter to externremux.sh (suggested by
|
||
vel_tins@vdrportal)
|
||
- don't use std::map.at(). It's not available in older libstdc++ version
|
||
(reported by Matthias Prill)
|
||
- fixed extremux x264 using value of ABR for VBR (thanks to vel_tins@vdrportal)
|
||
|
||
2010-07-20: Version 0.5.0b
|
||
|
||
- fixed wrong URL path in m3u playlists (reported by Norman Thiel)
|
||
|
||
2010-07-20: Version 0.5.0a
|
||
|
||
- set externremux.sh executable in distribution archive
|
||
- externremux quality value should be wlan54, not wlan45 (reported by
|
||
wolfi.m@vdrportal)
|
||
|
||
2010-07-19: Version 0.5.0
|
||
|
||
- 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
|
||
- fixed "plugin doesn't honor APIVERSION" (reported by carel@vdrportal)
|
||
- updated Italian translation (thanks to Diego Pierotto)
|
||
- config option "client may suspend" hidden if not applicable
|
||
- updated and enhanced README
|
||
- separated language resources of client and server
|
||
- restructured build process
|
||
- 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
|
||
- dropped "Synchronize EPG" feature. Please use epgsync-plugin instead
|
||
(available from http://vdr.schmirler.de)
|
||
- proper tsplay-0.2 patch detection. tsplay-0.1 is no longer recognized
|
||
(thanks to Udo Richter)
|
||
- added compatibility with VDR 1.6 tsplay-0.1 patch
|
||
- added support for EnhancedAC3 (thanks to Eric Valette)
|
||
- fixed a memory leak in cStreamdevPatFilter::GetPid (thanks to lhanisch)
|
||
- length -1 is the correct value for streams in M3U playlists
|
||
- switching between two encrypted channels on the same transponder didn't
|
||
always work (thanks to sk8ter@vdrportal)
|
||
- added DELT FORCE option to delete running timers (thanks to Alwin Esch)
|
||
- added VDR 1.7.11 parental rating support for VTP LSTE command (thanks to
|
||
Alwin Esch)
|
||
- added Lithuanian translation (thanks to Valdemaras Pipiras)
|
||
- fixed missing virtual destructor for cTSRemux
|
||
- added defines for large file support to Makefile as required by VDR 1.7.4+
|
||
(reported by wirbel@vdrportal)
|
||
- added Slovak translation (thanks to Milan Hrala)
|
||
- fixed regression from fix for switching between encrypted channels. It was
|
||
no longer possible to receive multiple (FTA) streams from the same
|
||
transponder
|
||
- silenced warnings concerning asprintf (requested by Rolf Ahrenberg)
|
||
- don't update recordings list on CmdPLAY (reported by BBlack)
|
||
- 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
|
||
owagner)
|
||
- 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
|
||
- added XBMC support by extending VTP capabilities (thanks to Alwin Esch)
|
||
- now there's a common baseclass for all remuxers, make use of it
|
||
- added cDevice::NumProvidedSystems() which was introduced in VDR 1.7.0
|
||
- 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
|
||
- re-enabled PES vor VDR 1.7.3+. Streamdev now uses 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
|
||
- added missing call to StopSectionHandler which could cause crashes when
|
||
shutting down VDR
|
||
- 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
|
||
- disabled PES for VDR 1.7.3+
|
||
- added Network Media Tank browser support to HTML pages (thanks to Jori
|
||
Hamalainen)
|
||
- 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
|
||
- compatibility for VDR 1.7.1 (thanks to Udo Richter)
|
||
- added vdr-1.6.0-intcamdevices.patch (thanks to Anssi Hannula)
|
||
- fixed problem when switching from one encrypted channel to an other
|
||
(reported by Tiroler@vdrportal, initial bugfix by pixelpeter@vdrportal,
|
||
another fix by owagner@vdrportal)
|
||
- added preprocessor directive for ancient gcc
|
||
- added Russian translation (thanks to Oleg Roitburd)
|
||
- fixed assignment of externremux.sh's default location (reported by plautze)
|
||
- added French translation (thanks to micky979)
|
||
- added Italian translation (thanks to Diego Pierotto)
|
||
- added gettext support (thanks to Rolf Ahrenberg)
|
||
- added vdr-1.6.0-ignore_missing_cam patch
|
||
- dropped obsolete respect_ca patch
|
||
- removed legacy code for < VDR 1.5.9 (thanks to Rolf Ahrenberg)
|
||
|
||
2008-04-07: Branched v0_4
|
||
|
||
- changed location of streamdevhosts.conf to VDRCONFDIR/plugins/streamdev
|
||
- 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
|
||
- 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)
|
||
|
||
2008-03-31: Version 0.3.4
|
||
|
||
- added possibility to pass parameter to externremux.sh (thanks to Rolf
|
||
Ahrenberg)
|
||
- use HTTP host header in absolute URLs for DNAT / reverse proxy support
|
||
- rewrite of the HTTP menu part
|
||
- added M3U playlists (thanks to Petri Hinutkainen)
|
||
- enable section filtering only with compatible clients (thanks to Petri
|
||
Hintukainen)
|
||
- fixed compiler warning
|
||
- added EIT to HTTP TS streams (thanks to Rolf Ahrenberg)
|
||
- compatibility for FreeBSD (thanks to Joerg Pulz)
|
||
- added TS PAT repacker (thanks to Rolf Ahrenberg)
|
||
- fixed Makefile's default target (suggested by Rolf Ahrenberg)
|
||
- workaround for tuning problems on 1.5.x clients (thanks to alexw)
|
||
- added VTP support for PS, PES and EXTERN (PS requested by mpanczyk)
|
||
- fixed gcc-4.3.0 warnings (thanks to Petri Hintukainen)
|
||
- fixed busy wait when client isn't accepting data fast enough (thanks to
|
||
Olli Lammi)
|
||
- fixed client reconnect after server restart (reported by alexw)
|
||
- added lock in ~cStreamdevDevice (thanks to Petri Hintukainen)
|
||
- externremux: check for ringbuffer full condition (reported by
|
||
vdr-freak@vdrportal)
|
||
- diffserv support for traffic shaping and WMM capable WLAN accesspoint
|
||
(suggested by ollo@vdrportal)
|
||
- check vasprintf() return code (thanks to Rolf Ahrenberg)
|
||
- fixed memory leak in buffer overflow situations (thanks to Rolf Ahrenberg)
|
||
- added PAT, PMT and PCR to HTTP TS streams (thanks to Petri Hintukainen and
|
||
Rolf Ahrenberg)
|
||
- detect data stream disconnections. Fixes high CPU load (thanks to Petri
|
||
Hintukainen)
|
||
- fixed segfault with VDR 1.5 (thanks to Petri Hintukainen)
|
||
- made section filtering work (thanks to Petri Hintukainen)
|
||
- added compiler flag -Wall and fixed corresponding warnings (thanks to
|
||
Rolf Ahrenberg)
|
||
- close pipe when externremux is gone. Fixes high CPU load problem
|
||
- close connection when client is gone. Fixes high CPU load problem
|
||
- silenced compiler warnings (thanks to Rolf Ahrenberg)
|
||
- added commandline parameter for externremux script (thanks to Rolf
|
||
Ahrenberg)
|
||
- detach receivers before switching transponders
|
||
- API changes for VDR 1.5.0 (thanks to Udo Richter)
|
||
- log connections failures only every 10s (reported by greenman@vdrportal)
|
||
- replaced uint64 by uint64_t
|
||
- added Recursion patch for vdr 1.4
|
||
- added LocalChannelProvide for vdr 1.4.x
|
||
- added respect_ca patch
|
||
- speedup cPluginStreamdevServer::Active() by caching translation (thanks
|
||
to Udo Richter)
|
||
- periodically check if streamdev-server needs to shutdown (thanks to Udo
|
||
Richter)
|
||
- collect terminated externremux.sh processes (reported by Norad@vdrportal)
|
||
- avoid fd leaks when we fail to spawn externremux.sh
|
||
- detach all receivers before tuning to a different transponder
|
||
- Re-enabled logging for the Detach()/Attach() issue
|
||
- Added -fPIC compiler flag required on AMD64 architectures
|
||
|
||
2006-08-17: End of maintenance by Thomas Keil
|
||
|
||
- updated Finish translation (thanks to Rolf Ahrenberg)
|
||
- fixed fd leak (thanks to Artur Skawina)
|
||
- re-enabled Detach/Attach to temporarily release the device used by
|
||
streamdev while checking if we can switch transponders (thanks to
|
||
PanamaJack@vdrportal)
|
||
- adopted to VDR 1.4.x
|
||
|
||
2006-01-26: End of maintenance by Sascha Volkenandt
|
||
|
||
- fixed http error response
|
||
- added class forward declaration for gcc >= 4.0
|
||
- adopted to VDR >= 1.3.36
|
||
- added LocalChannelProvide for vdr 1.3.24
|
||
- fixed missing include
|
||
- added TS compatibility mode
|
||
- deleting whole block instead of fractions now
|
||
- fixed wrong remux usage
|
||
- added finish translations (thanks to Rolf Ahrenberg)
|
||
- protected cStreamer::Stop() from being called concurrently
|
||
- some compilers complained about missing declarations, added <ctype.h>
|
||
- removed assembler and thus saving one ringbuffer
|
||
- fixed destruction order on channel switch (fixes one crash that happens
|
||
occasionally when switching)
|
||
- removed client menu code temporarily
|
||
- streamer now gets stopped when connection terminates unexpectedly
|
||
- fixed recursive delete in streamer
|
||
- fixed pure virtual crash in server
|
||
- audio track selection for http
|
||
|
||
2004-??-??: Version 0.3.3
|
||
|
||
- dropped support for non-ts streaming in vdr-to-vdr clients
|
||
- implemented packet buffer that seems to improve distortions
|
||
- greatly re-worked device selection on server and client
|
||
(vdr-to-vdr clients should behave exactly like clients with one card,
|
||
can't test conditional access, though)
|
||
- now printing an error and exiting if streamdevhosts.conf is not existing
|
||
- increased client stream priority to 1
|
||
- implemented remote schedule to program remote timers directly from schedule
|
||
- the servers are turned on by default now
|
||
- new setup parameters "Bind to IP" for both servers for binding to a specific
|
||
interface
|
||
- re-implemented section streaming (turned off by default, see setup menu)
|
||
- implemented a possibility to prevent a shutdown when clients are connected
|
||
(patch VDR with patches/vdr-pluginactivity.diff if you want this feature)
|
||
- implemented channel listing through channels.htm(l) URI
|
||
|
||
????-??-??: Version 0.3.2
|
||
|
||
... has myteriously disappeared :-)
|
||
|
||
2004-02-16: Version 0.3.1 (unstable)
|
||
|
||
- Added finnish language texts (thanks to Rolf Ahrenberg)
|
||
- Increased all ringbuffer sizes to 3 MB
|
||
- Autodetecting VDR 1.2.x, 1.2.x with AutoPID and 1.3.x on compilation
|
||
- Server is only restarted if necessary after confirming setup
|
||
- Implemented PID-based streaming (only needed PIDs are transferred instead of
|
||
all PIDs of the requested channel) (configurable)
|
||
- Implemented an editor for remote timers
|
||
- Implemented manual EPG synchronization from client
|
||
- Implemented Server Suspend remotely from client (configurable)
|
||
- Implemented an IP-Editor for the setup menu
|
||
- Separated Client and Server into two PlugIns
|
||
- Increased initial number of clients to five
|
||
- Implemented host-based authorization (syntax is equal to svdrphosts.conf)
|
||
- Removed two irritating messages that appeared sometimes while exiting VDR
|
||
- Implemented "Choose, Always, Never" for Suspend Mode, so it can be configured
|
||
to behave like 0.2.0 (Always), 0.3.0 (Choose) or completely different (Never)
|
||
- Added missing translation entries
|
||
- Added PlugIn description to translation table
|
||
- Fully upgraded to VDR 1.3.X regarding threading (but still works with 1.2.6)
|
||
- Reworked manual (almost everything)
|
||
|
||
2003-10-10: Version 0.3.0 (unstable)
|
||
|
||
- Implemented "Suspend Live TV" in the VDR server (configurable)
|
||
- Reimplemented choice of device for live streaming (better for switching on
|
||
client, and server doesn't loose live-tv)
|
||
- Added missing translation entries
|
||
- Increased client's streaming buffer size from 1 to 3 MB
|
||
- Updated installation instructions (including a patch to VDR that is
|
||
recommended currently)
|
||
- Updated manual
|
||
|
||
2003-10-04: Version 0.2.0
|
||
|
||
- Removed those silly warnings in the toolbox-headers
|
||
- Implemented intelligent buffer overflow logging (doesn't flood syslog)
|
||
- Implemented EPG synchronization in the VDR client (configurable)
|
||
- Station name is transmitted in radio streaming now (Shoutcast-format).
|
||
|
||
2003-09-24: Version 0.1.1beta1
|
||
|
||
- Restructured remuxer code
|
||
- Added an ES-remuxer for radio channels (currently only manually)
|
||
|
||
2003-09-20: Version 0.1.0
|
||
|
||
- Fixed thread-abortion timeout in server thread
|
||
|
||
2003-08-31: Version 0.1.0beta4
|
||
|
||
- Added italian language texts (thanks to Angelus (DOm))
|
||
- Added a missing i18n translation (thanks to DOm)
|
||
- Added an #ifdef so the setup menu is displayed correctly with ElchiAIO
|
||
(thanks to DOm for reporting this one)
|
||
- It's possible to select the HTTP streamtype remotely, specified in the
|
||
URL in addition to the old behaviour (thanks to Michal Novotny)
|
||
- Fixed creation ob remuxer objects in the server
|
||
- Fixed handling of timeout in cTBSelect
|
||
|
||
2003-06-08: Version 0.1.0beta3
|
||
|
||
- Fixed setup menu - now the cursor starts at the first visible entry
|
||
- Added PS streaming for HTTP (should work with most players now)
|
||
- Debugging symbols are only compiled with DEBUG=1 set
|
||
|
||
2003-06-06: Version 0.1.0beta2
|
||
|
||
- Added an #ifdef so this PlugIn will compile cleanly with the next
|
||
AUTOPID-patches
|
||
- Added categories to the menu
|
||
- Fixed segfault when closing the menu with OK
|
||
- Added an AnalogTV section to the README
|
||
- Added some missing i18n entries
|
||
- Corrected client reinitialization code (when changing client settings)
|
||
- Added PS streaming for HTTP (should work with most players now)
|
||
- Added -D_GNU_SOURCE to the Makefile (.......)
|
||
|
||
2003-06-03: Version 0.1.0beta1
|
||
|
||
- Replaced the toolbox with a current version
|
||
- Rewrote the server core from scratch
|
||
- Rewrote the client core from scratch
|
||
- Reduced the size of blocks processed in a transceiver turn to 10 TS packets
|
||
- Added TS transmission for HTTP (configurable via setup)
|
||
- Most client settings can be done on-the-fly now
|
||
- MIME type for radio channels now "audio/mpeg" instead of "video/mpeg"
|
||
(still doesn't work really)
|
||
|
||
2003-05-08: Version 0.0.3beta1
|
||
|
||
- Server stops correctly on VDR exit
|
||
- Fixed a race condition when several threads access the client device
|
||
- Made server code more modular
|
||
- Structured the directories
|
||
- Fixed a bug in informational log-message
|
||
- Added Apid2, Dpid1 and Ppid in TS mode (silly me;) )
|
||
|
||
2003-05-03: Version 0.0.2
|
||
|
||
- Device is not deactivated anymore, since VDR does that itself
|
||
- Server is correctly deactivated, so it can be faultlessly reactivated
|
||
- Did some major code cleanup
|
||
- Added new command to the PROTOCOL (to negotiate stream types)
|
||
- Added the possibility to stream TS between two VDR's (which adds the
|
||
possibility of having AC3, Teletext etc. on the client) - this is
|
||
autonegotiated
|
||
- Streamtype can be changed in the setup menu, if TS works too unreliable
|
||
- Fixed a bug in multi-threaded device operation
|
||
- Sharing an epg.data with a server will be possible even if there is no
|
||
DVB-Device present
|
||
- Added a basic HTTP daemon to the server code
|
||
|
||
2003-03-17: Version 0.0.1a
|
||
|
||
- Corrected some bugs in the README and on the homepage *g*
|
||
|
||
2003-03-17: Version 0.0.1
|
||
|
||
- Initial revision.
|