| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: vdr-devel | Distribution: Fedora Project |
| Version: 2.8.4 | Vendor: Fedora Project |
| Release: 2.fc46 | Build date: Thu Oct 29 10:54:35 2026 |
| Group: Unspecified | Build host: buildvm-a64-37.rdu3.fedoraproject.org |
| Size: 672424 | Source RPM: vdr-2.8.4-2.fc46.src.rpm |
| Packager: Fedora Project | |
| Url: https://www.tvdr.de/ | |
| Summary: Development files for VDR | |
Headers, pkg-config file and RPM macros needed to build VDR plugins.
GPL-2.0-or-later
* Thu Oct 29 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.4-2
- Add 16-numtracks-lock (for upstream), found with ThreadSanitizer and the
dvd plugin: count the available tracks under mutexCurrentAudioTrack,
under which a player announces them
* Wed Oct 28 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.4-1
- Update to 2.8.4 (API version 14)
- Drop the patches merged into 2.8.4: fsf-address, posix-inet-functions,
08, 14, 15, 18-23, 30, 33, 35, 37-44 and 47; 24, 28, 29 and 31 went in as
header-free variants (static mutex/pointer/vector in the .c file)
- Drop 13-camslot-assign-lock-scope: cCamSlot::Process() calls Assign()
under the slot mutex when the module is removed, so the new assignMutex
inverted the lock order against Assign() itself
- Rework the rest for upstream as 01-15, by priority in four groups:
lifetime (01-05): new 01, 16 -> 02 (only the subtitle converter and the
SPU decoder, which delete their OSDs outside the main thread, use the new
cOsd::Delete(); ~cOsd() activates Osds[0] only if the active OSD was
deleted, so the skins stay as they are), 03+12+the device part of
04 -> 03, 01 -> 04, new 05; lost updates and torn reads (06-07):
36 -> 06 without the header change, 17+45 -> 07; state read without a
lock, by subsystem (08-13): 06 -> 08, 07+32 -> 09,
02+26+cTransferControl::receiverDevice -> 10, the PID part of 04 -> 11,
09+34 -> 12, 10+11+25+27 -> 13; globals switched for a local purpose
(14-15);
cTransfer::activated is under the transfer mutex in 2.8.4 now
- New 01: after the EPG scan had taken the primary device, the first key
after a replay started without a key press (SVDRP PLAY, a plugin's SVDRP
command, the live plugin) switched back to the live channel, which
deleted the control, and then passed the key to it (SIGSEGV); the switch
now happens before the control is fetched
- From the TSan runs of 2.8.4: 04 also re-reads 'active' in
cThread::Active() when pthread_kill() finds the thread gone; new 05:
the recorder thread gives the stream two seconds for the independent
frame it wants to end on and then ends by itself (without video, e.g.
when ChannelDataModified() restarts a recording with wrong PIDs, it
never ended and Cancel(3) killed it inside cCondWait::Wait() with the
mutex held); new 14: the CI TPDU dump switch is thread-local (Poll()
toggles it in the CI adapter thread while cCamSlot::Write() reads it
from an SVDRP CHAN); new 15: MarkObsoleteChannels() no longer switches
Setup.ShowChannelNamesWithSource off and on (cChannel::Name() reads it
in every thread)
- Add vdr-recording-hook.sh, VDR's --record hook, enabled in the default
sysconfig: runs the drop-ins in /etc/vdr/recording-hooks.d for all ten
states of VDR 2.8 (before, started, after, editing, edited, deleted,
copying, copied, renamed, moved), each with a 10 second limit
- vdr-shutdown.sh: use all five arguments for the log line, run the drop-ins
in /etc/vdr/shutdown-hooks.d first (a failing one cancels the shutdown
with an OSD message), SHUTDOWN_ACTION=poweroff|suspend|hibernate in
sysconfig instead of editing the script; sudoers allows suspend
- vdr-set-wakeup: clear the RTC alarm when there is no timer, wake up
MinEventTimeout minutes after a forced stop during a recording (as VDR
itself does), keep the alarm at least two minutes in the future, leave it
alone when VDR cannot be asked
- vdr-moveto.sh: move through VDR (SVDRP MOVR) instead of mv behind its
back, so VDR refuses recordings in use, copies across file systems and
runs the recording hook; FOLDER as VDR shows it ('/' or '~' between
levels), no sysconfig parsing for the video directory
- runvdr: one pass with an associative array, same command line as before;
vdr-config: any vdr.pc variable (--cflags, --cxxflags, ...), --list,
several options per call; vdr-check-setup: point at w_scan2 and
dvbv5-scan instead of the retired dvb-apps
- The hooks, vdr-set-wakeup and vdr-check-setup log to the journal when
run under systemd (a drop-in with StandardInput=tty, as for vaapivideo's
console, puts the unit's stdout on the VT), to the terminal by hand
- Document the hooks in README.package, add a vdr-moveto.sh example to
reccmds.conf, %check parses the installed scripts; its negated grep
checks could never fail under set -e, now explicit
- Modernize the spec: %bcond, %{build_cc}/%{build_cxx}, C++ flags from
%{build_cxxflags}, %{_sharedstatedir}/%{_localstatedir}/%{_rundir}
for the state, cache and runtime directories, no %{?systemd_requires}
(the systemd scriptlets need no dependency on systemd)
* Fri Oct 23 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-7
- Drop 46: dvbapi 2.2.8 keeps its CAM slots until VDR has deleted the
devices, so VDR no longer has to wait for the device threads before the
plugins stop
* Wed Oct 14 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-6
- Add 47: the DVD subpicture decoder read its highlight flag before it was
ever set (UndefinedBehaviorSanitizer)
* Wed Oct 14 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-5
- Add 45: the audio and subtitle track menus read the track table without
the lock a player writes it under (ThreadSanitizer, DVD replay)
- Add 46: stop the device threads before the plugins stop; a CAM slot's
receiver kept a device thread using the slot while dvbapi deleted it
* Wed Oct 14 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-4
- Add 43-44 for the DVD subpicture decoder: its destructor freed the
subpicture with delete instead of delete[] (AddressSanitizer), and a
command time that crossed the 32-bit PTS wrap ran at once or never
* Sun Oct 11 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-3
- Add 24-32 from a ThreadSanitizer run of vdr, vaapivideo, dvbapi,
skinflatplus and libdvbcsa on nuc and stone: the status monitor list is
walked without its mutex (skin display objects are cStatus monitors), index
file entries are read while CatchUp() reallocates them, SVDRP PLAY opened
the progress display on the SVDRP thread, cTransfer could still play a
packet while Detach() reset the parsers, the audio track mutex and the
player's thread lock could deadlock on a track selection during PMT
parsing, and plain flags were written by two threads (recordings
lastUpdate, volume/mute, recorder working, bonded receivers)
- 02 also covers autoSelectPreferredSubtitleLanguage, 06 also the player's eof
* Tue Oct 06 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-2
- Split the StuckAtEof reset for every played frame out of
21-dvbplayer-growing-recording into 20-dvbplayer-stale-stuckateof: it fixes
stock 2.8.3 ending fast forward in short recordings early (vdr-portal
report), not only growing recordings; renumber 20-22 to 21-23. The built
code is unchanged apart from a comment
* Sun Sep 27 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.3-1
- Update to 2.8.3 (API version 14)
- Drop the patches merged into 2.8.3: cache-threadid, hoist-receiver-lock,
fix-unused-variable, 03-osd-isopen-locking, 11-dvbdevice-stop-thread,
12-launch-transfer-after-switch, 14-svdrp-stop-order,
15-transfer-serialize-playts, 16-settrackdescriptions-lock-scope,
17-device-track-table-lock, 20-lcars-flush-control-mutex-scope,
23-device-subtitleconverter-lock, 30-detachallreceivers-lock-scope
- Drop 26-capid-handlingpid-atomic: 28-device-pid-notify-lock-scope already
calls cCamSlot::SetPid() outside of mutexPids, and without its mutex
HandlingPid() could make a concurrent SetPid() skip a channel PID
- Rework the rest for upstream as 01-17, with short descriptions and
comments that give the reason: merge the pairs that guard one link
(player/device, receiver PIDs/device, transfer, which also makes
cTransfer::activated atomic), split the tuner patch into its atomics and
a channel lock that no longer spans the signal ioctls, and fix the
misplaced GetTrackId() documentation
- Add 18-tsbuffer-get-timeout: faster channel switches
- Add 19-22 for the end of a replay: a pause in the tail no longer ends it,
B-frame tails are no longer cut, a recording that is still being written
no longer ends at a stall or trickles out after its end, and PLUGINS.html
describes DrainDevice()
- Package the pes2ts script
- Install skincurses with VDRDIR set: the plugin's make install resolved
vdr.pc through the installed vdr-devel and used its API version
* Sat Aug 22 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.2-4
- Drop vdr-10-lcars-sttng-event-lock.patch and
vdr-19-setchannel-lock-order.patch, both rejected upstream. For 19, every
caller of cDevice::SetChannel() already holds the channels read lock before
it takes mutexChannel, so the lock the patch hoisted was a recursive re-lock
in the same thread and the lock order it was meant to fix was never inverted
- Drop vdr-02-displaychannel-lock-order.patch. cDisplayChannel::DisplayInfo()
is private and both of its callers already hold LOCK_CHANNELS_READ, so the
channels lock the patch added was a recursive re-lock and changed no lock
order. The ThreadSanitizer report behind it was a false positive: the
inversion it flagged cannot deadlock, because a thread holding the channels
read lock blocks cSchedules::Read() from taking the write half
* Thu Aug 13 2026 Dirk Nehring <dnehring@gmx.net> - 2.8.2-3
- Refactor the spec file
- Themes live in /etc/vdr/themes: stock VDR's path, now that the old
theme-directory rewriting patch is gone
- vdr-devel now requires the base package (fully versioned, arch-specific)
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Tue Jun 23 2026 Martin Gansser <martinkg@fedoraproject.org> - 2.8.2-1
- Update to 2.8.2 API version 13
* Mon Mar 23 2026 Martin Gansser <martinkg@fedoraproject.org> - 2.8.1-1
- Update to 2.8.1
* Mon Feb 09 2026 Martin Gansser <martinkg@fedoraproject.org> - 2.7.9-1
- Update to 2.7.9
- Add vdr-2.7.9-remove-leftover-path.diff
- Add vdr-2.7.9-last-replayed-per-folder-05.diff
* Thu Jan 22 2026 Martin Gansser <martinkg@fedoraproject.org> - 2.7.8-1
- Update to 2.7.8
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.7-1
- Update to 2.7.7
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jun 21 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.6-1
- Update to 2.7.6
* Tue May 27 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.5-1
- Update to 2.7.5
- Add vdr-2.7.5-override-keyword.patch
* Sun May 11 2025 Peter Bieringer <pb@bieringer.de> - 2.7.4-3
- Re-add MainMenuHooks patch for 2.7.x
* Thu Apr 24 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.7.4-2
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Wed Feb 26 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.4-1
- Update to 2.7.4
- Add vdr-2.7.4-fedora-pkgconfig.patch
* Fri Jan 24 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.3-3
- Fix FTBFS #2341505
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
/usr/bin/vdr-config /usr/bin/vdr-newplugin /usr/include/libsi /usr/include/libsi/descriptor.h /usr/include/libsi/headers.h /usr/include/libsi/section.h /usr/include/libsi/si.h /usr/include/libsi/util.h /usr/include/vdr /usr/include/vdr/args.h /usr/include/vdr/audio.h /usr/include/vdr/channels.h /usr/include/vdr/ci.h /usr/include/vdr/config.h /usr/include/vdr/cutter.h /usr/include/vdr/device.h /usr/include/vdr/diseqc.h /usr/include/vdr/dvbci.h /usr/include/vdr/dvbdevice.h /usr/include/vdr/dvbplayer.h /usr/include/vdr/dvbspu.h /usr/include/vdr/dvbsubtitle.h /usr/include/vdr/eit.h /usr/include/vdr/eitscan.h /usr/include/vdr/epg.h /usr/include/vdr/filter.h /usr/include/vdr/font.h /usr/include/vdr/i18n.h /usr/include/vdr/interface.h /usr/include/vdr/keys.h /usr/include/vdr/lirc.h /usr/include/vdr/menu.h /usr/include/vdr/menuitems.h /usr/include/vdr/mtd.h /usr/include/vdr/nit.h /usr/include/vdr/osd.h /usr/include/vdr/osdbase.h /usr/include/vdr/pat.h /usr/include/vdr/pes2ts.h /usr/include/vdr/player.h /usr/include/vdr/plugin.h /usr/include/vdr/positioner.h /usr/include/vdr/receiver.h /usr/include/vdr/recorder.h /usr/include/vdr/recording.h /usr/include/vdr/remote.h /usr/include/vdr/remux.h /usr/include/vdr/ringbuffer.h /usr/include/vdr/sdt.h /usr/include/vdr/sections.h /usr/include/vdr/shutdown.h /usr/include/vdr/skinclassic.h /usr/include/vdr/skinlcars.h /usr/include/vdr/skins.h /usr/include/vdr/skinsttng.h /usr/include/vdr/sourceparams.h /usr/include/vdr/sources.h /usr/include/vdr/spu.h /usr/include/vdr/status.h /usr/include/vdr/svdrp.h /usr/include/vdr/themes.h /usr/include/vdr/thread.h /usr/include/vdr/timers.h /usr/include/vdr/tools.h /usr/include/vdr/transfer.h /usr/include/vdr/videodir.h /usr/lib/rpm/macros.d/macros.vdr /usr/lib64/pkgconfig/vdr.pc /usr/lib64/vdr/Make.config /usr/lib64/vdr/Make.global /usr/lib64/vdr/config.h /usr/lib64/vdr/plugins.mk /usr/share/licenses/vdr-devel /usr/share/licenses/vdr-devel/COPYING
Generated by rpm2html 1.8.1
Fabrice Bellet, Sat Oct 31 01:32:18 2026