Chris Tallon [Sat, 28 Mar 2020 15:25:00 +0000 (15:25 +0000)]
Rewrite server discovery code. Move from VDR to new VDPC class
Chris Tallon [Sun, 22 Mar 2020 23:23:36 +0000 (23:23 +0000)]
Event class to std::string
Chris Tallon [Sun, 22 Mar 2020 22:43:17 +0000 (22:43 +0000)]
VConnect, VDRServer, VDR::findServers to std::strings
Chris Tallon [Fri, 20 Mar 2020 16:51:52 +0000 (16:51 +0000)]
Convert VConnect to std::thread
Chris Tallon [Fri, 20 Mar 2020 15:13:19 +0000 (15:13 +0000)]
Switch PlayerRadioLive to std::thread
Chris Tallon [Wed, 18 Mar 2020 18:37:07 +0000 (18:37 +0000)]
7 CWFs
Chris Tallon [Wed, 18 Mar 2020 17:39:03 +0000 (17:39 +0000)]
Convert PlayerRadioRec to std::thread
Chris Tallon [Wed, 18 Mar 2020 16:34:25 +0000 (16:34 +0000)]
CWFs, formatting and cast changes for WSelectList
Chris Tallon [Mon, 16 Mar 2020 23:11:29 +0000 (23:11 +0000)]
21 CWFs
Chris Tallon [Sat, 14 Mar 2020 18:50:45 +0000 (18:50 +0000)]
CWFs, brace-inits, clean up PlayerVideoLive and WProgressBar
Chris Tallon [Sat, 14 Mar 2020 18:20:10 +0000 (18:20 +0000)]
Convert PlayerVideoLive to std::thread
Chris Tallon [Sat, 14 Mar 2020 15:51:01 +0000 (15:51 +0000)]
31 CWFs
Chris Tallon [Thu, 12 Mar 2020 22:16:18 +0000 (22:16 +0000)]
Work on VAudioSelector class
Fix some casts
Switch to C++ casts
All compiler warnings
Switch to std::string for audio/subs channel name
Use a vector of objects rather than pointers in channel lists
Code reformatted with astyle
Init-lists for constructors
Brace-init in class header
Update GPL notices
Remove a dead constructor from header
Chris Tallon [Tue, 10 Mar 2020 18:28:18 +0000 (18:28 +0000)]
Convert PlayerVideoRec to std::thread
Chris Tallon [Fri, 6 Mar 2020 16:57:24 +0000 (16:57 +0000)]
Fix segfault in subs unpause
Chris Tallon [Tue, 3 Mar 2020 22:24:05 +0000 (22:24 +0000)]
Remove Thread::PostStopCleanup from PlayerRadioRec
Chris Tallon [Tue, 3 Mar 2020 22:02:20 +0000 (22:02 +0000)]
Rename class: PlayerRadio to PlayerRadioRec
Chris Tallon [Tue, 3 Mar 2020 21:50:23 +0000 (21:50 +0000)]
Rename class: PlayerLiveRadio to PlayerRadioLive
Chris Tallon [Tue, 3 Mar 2020 21:40:25 +0000 (21:40 +0000)]
Rename class: PlayerLiveTV to PlayerVideoLive
Chris Tallon [Tue, 3 Mar 2020 18:48:14 +0000 (18:48 +0000)]
New void* wrapper class. Remove one use of Thread::postStopCleanup
Chris Tallon [Tue, 3 Mar 2020 17:15:46 +0000 (17:15 +0000)]
Fix black background for 16:9 live TV on 4:3 screen
Chris Tallon [Tue, 3 Mar 2020 17:00:04 +0000 (17:00 +0000)]
Fix timers nsec addition. Don't update barclocks if paused
Chris Tallon [Tue, 3 Mar 2020 15:39:03 +0000 (15:39 +0000)]
WIP: DVBSubtitles new timing loop, std::thread/cond and std::chrono
Chris Tallon [Tue, 25 Feb 2020 22:42:27 +0000 (22:42 +0000)]
27 CWFs
Chris Tallon [Tue, 25 Feb 2020 17:13:47 +0000 (17:13 +0000)]
Convert AFeed and TFeed to std::thread
Chris Tallon [Tue, 25 Feb 2020 16:19:21 +0000 (16:19 +0000)]
Simplify VFeed. Switch to std::thread
Chris Tallon [Tue, 25 Feb 2020 15:09:46 +0000 (15:09 +0000)]
Convert all remaining mutexes to std::mutex
Chris Tallon [Mon, 24 Feb 2020 20:37:45 +0000 (20:37 +0000)]
EventDispatcher: Switch to std::mutex/cond
Chris Tallon [Mon, 24 Feb 2020 18:27:43 +0000 (18:27 +0000)]
Rename Player class to PlayerVideoRec. Switch to std::mutex
Chris Tallon [Mon, 24 Feb 2020 16:04:53 +0000 (16:04 +0000)]
Remove Signal class, use std:: condvar etc natively
Chris Tallon [Sun, 23 Feb 2020 16:41:31 +0000 (16:41 +0000)]
WIN32 compatibility
Chris Tallon [Sun, 23 Feb 2020 16:14:43 +0000 (16:14 +0000)]
Convert all uses of Mutex to std::mutex
Chris Tallon [Thu, 20 Feb 2020 23:29:36 +0000 (23:29 +0000)]
Rewrite timers class using std::thread/mutex/cond/chrono
Chris Tallon [Wed, 19 Feb 2020 20:16:18 +0000 (20:16 +0000)]
23 CWFs
Chris Tallon [Wed, 19 Feb 2020 18:17:09 +0000 (18:17 +0000)]
20 CWFs, fix some snprintf calls
Chris Tallon [Wed, 19 Feb 2020 15:36:57 +0000 (15:36 +0000)]
WIP done(ish). Reorganise input system
Split Remote (base class) / RemoteWin / RemoteLinux(inc CEC) /
(defunct) RemoteLirc into separate classes
Replace with: InputLinux, InputCEC, InputUDP, InputWin, (InputLirc)
And InputMan to manage them all.
Move UDP class into Input system
Now any combination of input modules can be active.
Added pipe-quit wait style to DSock
Switch InputUDP to std::thread
Move static strings functions to InputMan.
Split translist into individual Input classes.
Remove all old/new remote stuff - has never been active on RPi.
Drop libcec3 support
Chris Tallon [Tue, 18 Feb 2020 18:29:44 +0000 (18:29 +0000)]
WIP - Windows implementation
Chris Tallon [Mon, 17 Feb 2020 19:43:22 +0000 (19:43 +0000)]
Change WSelectList option data to void*. About 65 CWFs
Chris Tallon [Mon, 17 Feb 2020 17:04:59 +0000 (17:04 +0000)]
WIP
A few compiler warning fixes
Remove Thread::postStopCleanup everywhere its not currently needed
Chris Tallon [Mon, 17 Feb 2020 16:17:47 +0000 (16:17 +0000)]
WIP
Chris Tallon [Sun, 16 Feb 2020 23:03:37 +0000 (23:03 +0000)]
23 compiler warning fixes
Chris Tallon [Sun, 16 Feb 2020 21:31:28 +0000 (21:31 +0000)]
WIP [broken]
Chris Tallon [Sat, 15 Feb 2020 15:16:37 +0000 (15:16 +0000)]
WIP [broken]
Chris Tallon [Thu, 6 Feb 2020 15:59:53 +0000 (15:59 +0000)]
20 warnings. Ish. Change Message::ADD_VIEW to use void* data for view pointer
Chris Tallon [Thu, 6 Feb 2020 15:22:37 +0000 (15:22 +0000)]
Rename Remote class to Input, RemoteLinux to InputLinux
Chris Tallon [Thu, 6 Feb 2020 01:50:45 +0000 (01:50 +0000)]
20 compiler warning fixes
Chris Tallon [Wed, 5 Feb 2020 19:53:26 +0000 (19:53 +0000)]
Grab input devices exclsuively to avoid remote buttons going to console
Chris Tallon [Wed, 5 Feb 2020 18:01:21 +0000 (18:01 +0000)]
Rework master loop
Implement thread safe MessageQueue
All postMessage* calls replaced with a single safe-to-call anywhere postMessage()
Rewrite main command loop to use new locking around MessageQueue
Deleted Command::masterMutex
Use condition variable in MessageQueue/Command to wait on rather than going into Remote
Implemented new thread loop in Remote. Reports input events by Message
Completely replaced signal handling system
Revert Linux compiler to GCC
Revert Linux linker to GCC LD
This will be broken for Windows - remote class needs updating
Chris Tallon [Thu, 30 Jan 2020 15:12:04 +0000 (15:12 +0000)]
Cross compiling... So close
Chris Tallon [Wed, 29 Jan 2020 16:38:06 +0000 (16:38 +0000)]
Fixes for Windows
Chris Tallon [Wed, 29 Jan 2020 15:59:39 +0000 (15:59 +0000)]
Pictures back to GNUmakefile, nmake didn't understand it
Chris Tallon [Wed, 29 Jan 2020 15:45:16 +0000 (15:45 +0000)]
All compiler warnings fixed for VDP6
Chris Tallon [Wed, 29 Jan 2020 15:23:52 +0000 (15:23 +0000)]
WIP
Code cleaning and reformatting
Remove some ancient commented out log lines
Implemented more brace-init
Remove some old-style casts
More GPL headers updated
Split Message::parameter union into separate variables
Rename parameter.num to parameter, parameter.handle to data
Completed MessageQueue call changes
Chris Tallon [Sun, 26 Jan 2020 21:33:03 +0000 (21:33 +0000)]
v0.6 dev
Update some GPL headers
Don't import std by "using namespace std"
Start implementing brace-init initialisation
General code cleanup
Start implementing things calling MessageQueue::postMessage* instead of Command::
Removed Osd::init() parameter
Removed some log lines, some old comments
Chris Tallon [Sun, 26 Jan 2020 01:40:51 +0000 (01:40 +0000)]
MVP code removal
Remove Wwss class
Remove LedMVP class
Remove AudioMVP class
Remove VideoMVP class
Remove OsdMVP class
Remove RemoteMVP class
Remove SurfaceMVP class
Remove all MTD classes
Remove various MVP code
Code cleanup
Compiler warning fixes
Chris Tallon [Sat, 25 Jan 2020 21:57:45 +0000 (21:57 +0000)]
Begin v0.6 refurb
Simplify GNUmakefile
Reorganise objects declarations in objects.mk and makefiles
Switch to clang compiler
Switch to gold linker
Stop building deps file on "make clean"
New option to GNUmakefile: SKIPDEPS=1 to skip building deps file
Make build less verbose
New option to GNUmakefile: VERBOSE=1 for all compiler output
Drop obsolete -D__STDC_CONSTANT_MACROS
Drop MVP code from GNUmakefile
Declared C++ standard to be C++14
Enabled many compiler warnings
Removed ticonfig.c
Renamed PLATTFORM_RASPBERRY to PLATFORM_RASPBERRY
Chris Tallon [Sat, 11 Jan 2020 19:01:30 +0000 (19:01 +0000)]
Implement radio playback resume
Chris Tallon [Mon, 30 Dec 2019 15:36:51 +0000 (15:36 +0000)]
Fix resuming recording directly after stopping it
If a recording is playing and the user presses stop, then play
the recording is started from the beginning. Caused by
commit
fa854a3abe995de8e3a06c422a535fc0e4a8484a.
Chris Tallon [Mon, 28 Oct 2019 17:15:18 +0000 (17:15 +0000)]
Set protocol version for release 0.5.1
Chris Tallon [Mon, 28 Oct 2019 15:10:15 +0000 (15:10 +0000)]
Fix segfault pressing up in options
WOptionPane had no code for up when it was inactive
WTabBar now handles client refusing control
Chris Tallon [Fri, 25 Oct 2019 16:21:58 +0000 (17:21 +0100)]
MVP compatibility fix
Chris Tallon [Fri, 25 Oct 2019 16:20:48 +0000 (17:20 +0100)]
Makefile updates for MVP
Chris Tallon [Wed, 23 Oct 2019 18:57:00 +0000 (19:57 +0100)]
WIN32: Disable some fatal compiler warnings. TODO: Fix for real sometime.
Chris Tallon [Wed, 23 Oct 2019 16:48:23 +0000 (17:48 +0100)]
Add Winsock2.h to tcp.cc for Windows
Chris Tallon [Wed, 23 Oct 2019 16:42:38 +0000 (17:42 +0100)]
Two Windows compilation fixes, remove vremoteconfig class
Chris Tallon [Sun, 20 Oct 2019 17:14:09 +0000 (18:14 +0100)]
Remove obsolete TCP port setup code
Chris Tallon [Tue, 15 Oct 2019 16:08:39 +0000 (17:08 +0100)]
IPv6 support for discovery protocol
Chris Tallon [Wed, 9 Oct 2019 15:39:44 +0000 (16:39 +0100)]
IPv6 support for main protocol
Chris Tallon [Tue, 8 Oct 2019 16:08:35 +0000 (17:08 +0100)]
Handle when recording disappears just before playback start
Make UI the same in each case
Chris Tallon [Mon, 7 Oct 2019 16:28:46 +0000 (17:28 +0100)]
Compile fix for MVP re: location change of hmsf
Chris Tallon [Fri, 4 Oct 2019 17:26:15 +0000 (18:26 +0100)]
UI feedback for recording: mark as new
Chris Tallon [Fri, 4 Oct 2019 15:47:19 +0000 (16:47 +0100)]
Display channel name, duration, resume point and size on recording info screen
Move framesToHMSF to RecInfo class
Bump VDR protocol version requirement
Chris Tallon [Sun, 29 Sep 2019 16:13:27 +0000 (17:13 +0100)]
Add recording 'Mark as new' functionality
Chris Tallon [Sat, 17 Aug 2019 15:37:27 +0000 (16:37 +0100)]
Don't call av_register_all() if deprecated
Chris Tallon [Sat, 17 Aug 2019 14:47:20 +0000 (15:47 +0100)]
Fixes for compilation on Raspbian Buster
Chris Tallon [Thu, 7 Jun 2018 13:56:46 +0000 (14:56 +0100)]
Some compiler warning fixes
Chris Tallon [Thu, 7 Jun 2018 12:07:28 +0000 (13:07 +0100)]
Fix a threading deadlock causing a recording playback hang
Marten Richter [Mon, 15 Jan 2018 07:14:55 +0000 (08:14 +0100)]
Fix bug regarding advanced menu option, reported by kowovomp
Marten Richter [Sat, 11 Nov 2017 12:26:38 +0000 (13:26 +0100)]
Fix libcec4 support
Marten Richter [Sat, 11 Nov 2017 07:42:02 +0000 (08:42 +0100)]
Small fixes for debian stretch
Chris Tallon [Sun, 29 Oct 2017 17:59:36 +0000 (17:59 +0000)]
Stretch: libcec4 changes
Chris Tallon [Sun, 29 Oct 2017 16:06:10 +0000 (16:06 +0000)]
Compile fixes for stretch
Chris Tallon [Sun, 29 Oct 2017 15:43:53 +0000 (15:43 +0000)]
Add a 2s skip back button (for interlacing resync)
Chris Tallon [Sun, 29 Oct 2017 15:43:11 +0000 (15:43 +0000)]
Compile fixes for stretch
Chris Tallon [Wed, 4 Oct 2017 13:03:23 +0000 (13:03 +0000)]
Save some CPU usage in OSD loop
Chris Tallon [Tue, 26 Sep 2017 16:08:39 +0000 (17:08 +0100)]
Fix RPi pause black screen bug
Chris Tallon [Mon, 8 May 2017 14:23:49 +0000 (15:23 +0100)]
Bug fix: Display correct stop time on timer display screen
Chris Tallon [Thu, 30 Mar 2017 17:20:45 +0000 (18:20 +0100)]
Fix segfault when using subtitles
The segfault occurs in pthread_exit which points at memory corruption...
The problem:
Play live/recording, switch subtitles on. No subtitle packets arrive from
the demuxer (a channel without subtitles or just a part of a programme with
no dialogue).
Navigate or stop (anything to switch from playing to stopped).
cTimeMs returns a small positive integer because it has never been
initialised with anything other than 0.
This value is negated inside an unsigned creating a very large number
for "wakeup" which causes targetTime to overflow to
a negative number. This is supplied to pthread_cond_timedwait which
causes the spin.
Something about this situation causes pthread_exit to segfault
when DVBSubtitles->threadStop() is called.
Also fixed missing else brackets in cTimeMs constructor.
Marten Richter [Sat, 11 Mar 2017 09:45:06 +0000 (10:45 +0100)]
Use qpu only for SD content, minor fix in osdopenvg header for non accelearted image decoding case
Marten Richter [Sat, 4 Mar 2017 16:02:01 +0000 (17:02 +0100)]
Fix image_fx deinterlace parameters and add additional deinterlacer modes
Chris Tallon [Thu, 2 Mar 2017 14:05:27 +0000 (14:05 +0000)]
Add BCM2835 to Raspberry Pi detection
Marten Richter [Sat, 25 Feb 2017 12:02:55 +0000 (13:02 +0100)]
Drop support for Windows XP and Windows Vista before plattform update
Marten Richter [Sat, 25 Feb 2017 11:34:37 +0000 (12:34 +0100)]
Change RemoteWin to new base class definition
Marten Richter [Sat, 25 Feb 2017 11:23:16 +0000 (12:23 +0100)]
Make localtime_r portable for windows
Marten Richter [Sat, 25 Feb 2017 10:20:16 +0000 (11:20 +0100)]
Compiler Warning fixes Windows/Linux
Marten Richter [Sat, 25 Feb 2017 09:48:36 +0000 (10:48 +0100)]
Fix new signal handlers for windows port
Marten Richter [Sat, 25 Feb 2017 08:33:35 +0000 (09:33 +0100)]
Change version in debian files for next release
Chris Tallon [Wed, 22 Feb 2017 18:29:00 +0000 (18:29 +0000)]
Reduce length of protocol mismatch message for MVP
Chris Tallon [Wed, 22 Feb 2017 17:32:24 +0000 (17:32 +0000)]
Set protocol version for next release
Chris Tallon [Thu, 9 Feb 2017 23:09:00 +0000 (23:09 +0000)]
Fix demuxer long hang on invalid video stream data