Commit Graph

1061 Commits

Author SHA1 Message Date
0xb00bface 844fe63fca Reduce some log levels 2021-02-13 21:33:31 +01:00
0xb00bface a4c13fcf56 Merge branch 'dev' into v4 2021-02-13 21:30:38 +01:00
0xb00bface cf19ab9697 Remove quiet start parameter for FFmpeg 2021-02-13 18:03:27 +01:00
0xb00bface 1cf62f362d Speed up creation of contact sheet
Use FFmpegs select filter
Also add a config option to add a timestamp to the thumbs
2021-02-13 16:52:58 +01:00
0xb00bface 3e7d52a988 Delete the directory itself in deleteDirectory 2021-02-13 16:36:10 +01:00
0xb00bface 73eb13944c Add new class RecordingDownload for recording downloads
This class inherits from MergedFfmpegHlsDownload, but doesn't create a
directory and start FFmpeg in the init method.
Moved the dedicated methods for recording downloads from
MergedFfmpegHlsDownload to RecordingDownload.
2021-01-30 13:03:42 +01:00
0xb00bface dcfb29a90f Fix online state detection for Bongacams 2021-01-26 22:55:15 +01:00
0xb00bface e48df6cd1f Fix online state detection for Bongacams 2021-01-26 22:53:49 +01:00
0xb00bface 0f5a05bfd7 Make Showup downloads work in v4
Also fix the Followed tab
2021-01-24 20:12:52 +01:00
0xb00bface e789ce2029 Stop download if the playlist request timed out 5 times 2021-01-24 13:36:51 +01:00
0xb00bface 10321f32bd Reduce log level of updateCloudFlareCookies 2021-01-24 12:59:59 +01:00
0xb00bface bd9645105b Merge branch 'dev' into v4
# Conflicts:
#	client/pom.xml
#	common/pom.xml
#	master/pom.xml
#	server/pom.xml
2021-01-24 12:36:10 +01:00
0xb00bface fcffb7892a Set version to version 3.13.1 2021-01-24 12:15:18 +01:00
0xb00bface d3c5342791 Fix MVLive recordings 2021-01-24 12:12:38 +01:00
0xb00bface 51c1a82f1d Fix Streamate search URL 2021-01-24 01:06:53 +01:00
0xb00bface d58a8c1d06 Fix Streamate URLs for the thumbnail pages 2021-01-24 00:43:46 +01:00
0xb00bface f646c28151 Add setting for playlist request timeout 2021-01-23 22:57:59 +01:00
0xb00bface ce4a8fe24e Add if state ments to conditionally execute log.trace 2021-01-23 17:00:47 +01:00
0xb00bface 8855591f0f Fix race condition in code for streaming segments to FFmpeg
This caused stuttering and jumps mostly in the beginning of a recording
2021-01-23 16:24:24 +01:00
0xb00bface 9be4c07049 Change debug mechanisms for HLS 2021-01-23 13:38:57 +01:00
0xb00bface 3202d5d2cd Call stop() instead of setting running=false 2021-01-23 13:13:25 +01:00
0xb00bface e9a71bd6f1 Fix bug in grep method 2021-01-23 13:11:59 +01:00
0xb00bface 62cafd7b40 Fix use of wrong setting variable 2021-01-23 10:24:08 +01:00
0xb00bface 7aa96eabae Fix variable naming smell 2021-01-23 10:23:46 +01:00
0xb00bface 508a25f3b5 Use a cached thread pool instead of a fixed size thread pool 2021-01-23 10:23:20 +01:00
0xb00bface 326f970aa5 Add grep method 2021-01-23 10:22:54 +01:00
0xb00bface 3fedfe4be7 Replace CompletableFuture with a submit to segmentDownloadPool 2021-01-16 23:02:14 +01:00
0xb00bface fa7f1e5f57 Merge branch 'dev' into v4 2021-01-16 21:03:12 +01:00
0xb00bface 0b9c953ac4 Set version to 3.13.0 2021-01-16 20:16:33 +01:00
0xb00bface 368120e8e6 Add tab for recently watched models 2021-01-16 18:28:49 +01:00
0xb00bface 66d234e668 Remove restriction of download thread pool size (was 100 before) 2021-01-16 15:52:07 +01:00
0xb00bface 19da3c43bf Take into account all files of a recording to determine its size 2021-01-16 15:05:28 +01:00
0xb00bface f7b22ff57b Set version to 3.12.2 2021-01-16 12:12:36 +01:00
0xb00bface 505c501428 Stop hlsdl if the recording size didn't change for 90 seconds 2021-01-16 00:41:59 +01:00
0xb00bface ed3a370d18 Fix Cam4 search 2021-01-13 20:22:11 +01:00
0xb00bface 3d4bd6f331 Fix problem with Cam4 edge URLs
The edge URLs are already abosulte, so the base URL does not have to be
prepended
2021-01-12 20:43:12 +01:00
0xb00bface df37f4a61c Set version to 3.12.1 2021-01-12 19:47:28 +01:00
0xb00bface 967b5dec42 Use global thread pool instead of creating new threads 2021-01-10 22:14:20 +01:00
0xb00bface ec9c463f80 Move global thread pool to common 2021-01-10 20:17:18 +01:00
0xb00bface e709e2d45d Merge branch 'dev' into v4 2021-01-10 18:01:59 +01:00
0xb00bface 1baa216150 Implement splitting for hlsdl downloads 2021-01-09 22:24:51 +01:00
0xb00bface 8e22112603 Add support for hlsdl 2021-01-09 22:03:01 +01:00
0xb00bface f8130acf00 Set version to 3.12.0 2021-01-09 21:58:49 +01:00
0xb00bface 632f104f03 Code cleanup 2021-01-09 19:07:54 +01:00
0xb00bface 2b8bb40f6d Rename FfmpegStreamRedirector to ProcessStreamRedirector 2021-01-09 19:06:52 +01:00
0xb00bface cdf582ad8f Merge branch 'dev' into v4
# Conflicts:
#	client/src/main/java/ctbrec/ui/action/CheckModelAccountAction.java
#	client/src/main/java/ctbrec/ui/controls/SearchPopoverTreeList.java
#	client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaShowsTab.java
#	client/src/main/resources/logback.xml
#	common/src/main/java/ctbrec/recorder/NextGenLocalRecorder.java
#	server/src/main/resources/logback.xml
2021-01-09 15:59:31 +01:00
0xb00bface c4c5099c0d Add HTTP header factory to Cam4Model 2021-01-09 14:49:02 +01:00
0xb00bface e548f25f2d Remove some compiler and sonar warnings 2021-01-09 14:03:03 +01:00
0xb00bface dc12e12dc0 Add HTTP header factory to Cam4Model
The edge URL requires a Referer header as @gohufrapoc@mastodon.cloud found out. Otherwise you get a HTTP 403 error.
We also set a few other standard headers.
2021-01-09 13:50:51 +01:00
0xb00bface 7a36f49896 Add methods to null-safe extract a JSON object or array from the response body 2021-01-09 13:47:29 +01:00
0xb00bface 17aa5bc18d Change context menu behavior to make sense with bookmarked models
- "Record Later" is hidden if it makes sense
- Move models to Active tab, if the are in "Later" tab and then get started
2021-01-09 12:45:38 +01:00
0xb00bface de19de2efe Fix add by model URL for MV Live 2021-01-03 20:54:45 +01:00
0xb00bface d43e022563 Add "record later" tab to "bookmark" models 2021-01-03 18:37:21 +01:00
0xb00bface b0eb6e4411 Add setting to show total model count in title bar 2021-01-02 14:49:56 +01:00
0xb00bface 8251f41c50 Make sure to use lower case model names for Cam4 2021-01-02 13:04:53 +01:00
0xb00bface ebaf4c4c9f Run NextGenLocalRecorder.startRecordingProcess(Model) async 2021-01-02 13:04:31 +01:00
0xb00bface ea8e5d7ac5 Remove some compiler warnings 2021-01-02 12:14:55 +01:00
0xb00bface fb77e51e53 Run NextGenLocalRecorder.startRecordingProcess() async 2021-01-02 11:59:38 +01:00
0xb00bface 1ed2190a3b Improve logging message 2021-01-01 21:08:37 +01:00
0xb00bface 52f10c9fa7 Catch AssertionError in AccuratePlaylistGenerator 2021-01-01 20:33:47 +01:00
0xb00bface 62602b552f Remove a few code smells 2021-01-01 17:23:53 +01:00
0xb00bface 1ae3743bed Remove print statement 2021-01-01 17:17:18 +01:00
0xb00bface a9d5888190 Call onExit in waitFor 2021-01-01 17:09:12 +01:00
0xb00bface 3c25a41e3a Improve logging 2021-01-01 16:39:42 +01:00
0xb00bface e0dbb0eea7 Remove download thread pool size settings
ThreadPoolScaler takes care of the correct size. The setting is not
needed anymore
2021-01-01 16:39:29 +01:00
0xb00bface 9dde3fe842 Allow 3 playlist download errors before stopping a recording 2021-01-01 15:45:04 +01:00
0xb00bface a1a5fbc3a6 Remove old AbstractHlsDownload class 2021-01-01 15:39:55 +01:00
0xb00bface f730943245 Optimize multi-threading
- Set thread priorities for different thread pools
- Run costly stuff in downloadCompletionHandler asynchronously
2021-01-01 14:58:38 +01:00
0xb00bface a1492927e6 Upgrade okhttp to 4.9.0 2021-01-01 14:12:51 +01:00
0xb00bface 4aef12ceee Fix typo in log message 2021-01-01 13:57:41 +01:00
0xb00bface 4f55687b38 Fix bandwidth calulation for client/server 2021-01-01 13:28:52 +01:00
0xb00bface dbb44e1374 Move request throttle for Chaturbate to ChaturbateHttpClient 2021-01-01 13:23:32 +01:00
0xb00bface 602c81d18d Adjust ThreadPoolScaler behavior
- ramp up at 65% thread usage
- ramp down at 15% thread usage
- added cooldowns for ramp down, 10 secs after ramp down, 30 seconds
after ramp up
2021-01-01 13:09:37 +01:00
0xb00bface 93a662ce22 Add check to pp to not re-save deleted recordings 2020-12-31 12:51:49 +01:00
0xb00bface f86ba637b4 Add automatic scaling of the scheduled thread pool 2020-12-29 14:44:11 +01:00
0xb00bface c79cc826d7 Improve bandwidth meter performance 2020-12-29 14:44:11 +01:00
0xb00bface 5d50515b81 Add cleanup to method start and set the interval to 24h 2020-12-29 14:44:11 +01:00
0xb00bface 9da2f0fc5d Set version to 4.0.0-SNAPSHOT 2020-12-29 14:44:11 +01:00
0xb00bface e08cf998d5 Remove query part from segment file name 2020-12-29 14:44:11 +01:00
0xb00bface 1c8758ef52 Fix race condition in HlsDownload 2020-12-29 14:44:11 +01:00
0xb00bface 32429b192c Make MergedFfmpegHlsDownload work again 2020-12-29 14:44:11 +01:00
0xb00bface 7e03b48895 Fixed error handling for new multi-threading 2020-12-29 14:44:11 +01:00
0xb00bface e3270b6221 Refactored multi-threading for downloads
This is a first kind of working version. HlsDownload records, but teh error handling is broken.
2020-12-29 14:44:11 +01:00
0xb00bface 65ffbf525d Refactored HLS downloads 2020-12-29 14:44:11 +01:00
0xb00bface 52cdc82044 Fix chaturbate follow/unfollow response parsing 2020-12-29 14:43:26 +01:00
0xb00bface ac3f91eb03 Add setting to show confirmation dialogs for dangerous actions 2020-12-27 14:35:18 +01:00
0xb00bface 58d8432cf2 Update Java to version 15.0.1 2020-12-24 17:03:53 +01:00
0xb00bface 42904f6fba Set version to 3.11.0 2020-12-24 16:54:25 +01:00
0xb00bface 8b55e9d374 Reduce number of threads to read FFmpeg output 2020-12-24 13:10:25 +01:00
0xb00bface 9a270bb84b Add config option for fast scroll speed 2020-12-24 12:10:16 +01:00
0xb00bface e3925e992d Add migration step for Cam4 model notes 2020-12-24 12:02:37 +01:00
0xb00bface ec71dc3c6d Remove dead download code 2020-12-22 15:15:21 +01:00
0xb00bface 8fa785862b Fix MVLive models being detected as online while being offline 2020-12-21 20:10:12 +01:00
0xb00bface 086e15578f Core cleanup 2020-12-21 20:05:22 +01:00
0xb00bface 97715aecc5 Improve UI features for time limited recordings 2020-12-21 18:53:34 +01:00
0xb00bface 8fe48f91b7 Update playlist all the time
Before the playlist was only retrieved, when it was empty (on the
initial call). Now the playlist is updated every time.
2020-12-21 18:17:19 +01:00
0xb00bface 43d8b9d2de Add cache control headers to Cam4 requests 2020-12-21 15:07:50 +01:00
0xb00bface 6875de9b14 Add more logging to Cam4Model 2020-12-20 20:46:01 +01:00
0xb00bface 3b8022df87 Add switch to choose between fast and accurate playlist generation 2020-12-20 20:16:16 +01:00
0xb00bface cf165b7fc0 Make Showup login work with minimal browser 2020-12-20 16:27:48 +01:00
0xb00bface 5f4e17c2d2 Merge branch 'dev' into showup
# Conflicts:
#	common/src/main/java/ctbrec/sites/showup/ShowupHttpClient.java
2020-12-20 12:23:08 +01:00
0xb00bface 867e500fbd Fix MVLive recordings 2020-12-20 00:08:07 +01:00
0xb00bface 672d2a77d4 Add another playlist source for Cam4 models 2020-12-19 19:29:15 +01:00
0xb00bface c9cd6e825d Add Model.exists to check, if a model account exists 2020-12-19 18:07:30 +01:00
0xb00bface fb58be47bb Normalize Cam4 model URLs in setUrl 2020-12-19 18:06:55 +01:00
0xb00bface b5640d932f Set version to 3.10.10 2020-12-19 17:46:15 +01:00
0xb00bface a3ffa7a71e Improve error handling and set timeouts in the Cam4 websocket 2020-12-19 17:41:44 +01:00
0xb00bface 3d076cdde6 Improve logging 2020-12-19 17:41:03 +01:00
0xb00bface ae3726d906 Improve logging 2020-12-19 15:50:24 +01:00
0xb00bface 49469d8987 Determine online state of Cam4 models through the chat websocket 2020-12-19 15:47:44 +01:00
0xb00bface f730f95026 Also use the model page to detect the online state 2020-12-17 20:41:06 +01:00
0xb00bface 809d86f5a2 Extend regex to support more model URLs 2020-12-17 18:49:08 +01:00
0xb00bface 04ee553c1a Set version to 3.10.9 2020-12-15 19:31:29 +01:00
0xb00bface 2f0ef47acf Add more category tabs for CamSoda 2020-12-14 21:28:43 +01:00
0xb00bface d50ca02374 Add online state "off" to mapOnlineState() 2020-12-13 02:54:01 +01:00
0xb00bface ff273efedc Set version to 3.10.8 2020-12-12 22:27:10 +01:00
0xb00bface 1f07cea343 Add more online states to mapOnlineState() 2020-12-12 21:45:32 +01:00
0xb00bface 2eacbae228 Fix Stripchat recordings
For some models the recording didn't start, even if they were online and
publicly visible in the browser. We now use a different JSON object to
determine, which resolutions are available
2020-12-12 21:06:38 +01:00
0xb00bface cdaeaa746b Remove state from Remux post-processor
Post-processors have to be thread safe and can't have any state
2020-12-12 16:31:36 +01:00
0xb00bface 605269b4a0 Add setting to switch FFmpeg logging on / off 2020-12-12 15:22:10 +01:00
0xb00bface 5020f9f06d Update version to 3.10.7 2020-12-06 20:49:59 +01:00
0xb00bface 7d3e65fc14 Add parameters to the macOS browser command
Add parameters to the open command, so that it waits for the process to
end. Otherwise the process returns immediately and causes ctbrec to go
on even though the login process didn't run in the browser.

Furthermore we now pass on the config dir for the minimal browser as a
command line argument
2020-12-06 18:40:12 +01:00
0xb00bface 281d70d29b Store minimal browser config in ctbrec's config dir 2020-12-06 17:59:56 +01:00
0xb00bface 5be7fcc2ae Add clipboard monitoring for model URLs 2020-12-06 15:34:48 +01:00
0xb00bface dafde88721 Fix moving of segmented downloads 2020-12-06 14:22:28 +01:00
0xb00bface a31debcdea Add possibility to split recordings with different strategies 2020-12-05 21:30:54 +01:00
0xb00bface 8b66dce61a Rename chaturbate username and password setting 2020-12-05 16:24:47 +01:00
0xb00bface f2d3026d0a Code cleanup - Remove compiler warnings 2020-12-05 16:13:33 +01:00
0xb00bface c6dd2bb06c Fix bug in credentialsAvailable for Streamate
It was using the username for Chaturbate. Whoopsy!
2020-12-05 16:10:41 +01:00
0xb00bface ab911baeae Bump version to 3.10.6 2020-12-04 21:05:18 +01:00
0xb00bface 9e2074ba59 Fix Cam4 model details link 2020-12-04 21:04:11 +01:00
0xb00bface 75131cd325 Fix MV Live downloads and search 2020-11-29 16:36:39 +01:00
0xb00bface 5c3755dedc Fixed wrong playlist file extensions
m3u8a -> m3u8
2020-11-28 01:00:13 +01:00
0xb00bface 678d7b0174 Set version to 3.10.5 2020-11-21 20:51:23 +01:00
0xb00bface cd840afe0d Add idea project files to .gitignore 2020-11-21 19:20:01 +01:00
0xb00bface 0e7b5b5452 Fix: date placeholders with patterns with more than one ocurrence are 2020-11-21 16:06:45 +01:00
0xb00bface 20473f9a23 Change MFC websocket URL to the TLS one 2020-11-08 13:40:10 +01:00
0xb00bface 17b0a51d02 Set version to 3.10.4 2020-10-31 22:19:15 +01:00
0xb00bface f6a0a5dcaa Update http user agent string 2020-10-31 22:10:47 +01:00
0xb00bface ece3355e1e Try to make showup external login work 2020-10-31 22:08:59 +01:00
0xb00bface 808f96c04f Rename StreamRedirectThread to StreamRedirector
... since it isn't a thread, but a Runnable
2020-10-31 15:10:44 +01:00
0xb00bface bf0e99bd0f Set version to 3.10.3 2020-10-24 11:37:46 +02:00
0xb00bface 66ba857b82 Fix bug in Recording.equals 2020-10-17 17:28:04 +02:00
0xb00bface f7775b4671 Add button to pause recording entirely without pausing all models 2020-10-17 16:43:23 +02:00
0xb00bface e49ef57f21 Change equals and hashcode in Recording to only use the ID 2020-10-17 13:37:49 +02:00
0xb00bface 7eac934c7f Remove getLength from download
The length has to be determined just in time for certain pp functions to
work properly. The length can no longer be retrieved from the recording,
but has to be determined with the help of VideoLengthDetector
2020-10-11 19:14:22 +02:00
0xb00bface 24fa1a6ed6 Set version to 3.10.2 2020-10-08 21:49:01 +02:00
0xb00bface 2d3bb0c5c8 Add possibility to define the contactsheet file name with variables 2020-10-07 21:14:15 +02:00
0xb00bface 2dd32fed0c Fix URLs for models with special characters in their name 2020-10-05 18:44:16 +02:00
0xb00bface eaf5fd2ed7 Remove online check in resumeRecording
The online check will be done in the preconditions check anyway
2020-10-04 19:46:02 +02:00
0xb00bface 0b384cf85e Improve Bongacams online state detection 2020-10-04 19:31:34 +02:00
0xb00bface e250628c96 Add com.sun.activation for Java versions > 8 2020-10-04 16:03:56 +02:00
0xb00bface a2e2dbda6d Catch JSON parse exception 2020-10-04 15:20:23 +02:00
0xb00bface 5fa939ae65 Write script output to temporary log file 2020-10-03 20:22:20 +02:00
0xb00bface 8cc6f7ae0e Delete FFmpeg log files on JVM termination 2020-10-03 20:16:41 +02:00
0xb00bface 098e2d1b67 Fix update of associated files in GUI 2020-10-03 19:00:20 +02:00
0xb00bface 986744dfe7 Improve file handling in HLS servlet 2020-10-03 18:29:09 +02:00
0xb00bface 1350dce14f Fix BongaCams online check
Fix Bongacams unfollow
2020-10-03 16:14:24 +02:00
0xb00bface 3b3854c488 Fix Streamate followed tab
Also use a preview image instead of the bio pic
2020-10-03 13:59:19 +02:00
0xb00bface 99b21845ab Change post-process return value to boolean 2020-09-30 20:09:52 +02:00
0xb00bface 4823c603a7 Mark FFmpeg log files for deletion on JVM exit 2020-09-30 19:13:11 +02:00
0xb00bface 385a4c53c3 Fix Locale related bug in CreateContactSheet 2020-09-30 16:52:47 +02:00
0xb00bface c88ab395e7 Add contact sheet to recordings associated files 2020-09-30 16:23:09 +02:00
0xb00bface dcd3df5d0c Implement contact sheet creation 2020-09-30 16:16:49 +02:00
0xb00bface ce908bded2 Improve video length detection 2020-09-30 13:29:27 +02:00
0xb00bface 3bf9c5fa26 Fix JSON parsing exception
Sometimes performerData is not available. In this case we assume the
model is offline
2020-09-30 10:52:30 +02:00
0xb00bface 26b73322cc Add migration of old pp settings to new pp steps 2020-09-29 20:50:37 +02:00
0xb00bface bccdf47a2e Add automatic fix for invalid resolution range 2020-09-29 19:16:19 +02:00
0xb00bface 7bb0e8fe5d Fix FFMpeg remux stop for server recordings on windows 2020-09-29 15:39:01 +02:00
0xb00bface 099ccc9399 Remove console output 2020-09-29 13:27:09 +02:00
0xb00bface e4eee063ba Fix Showup downloads
Add cid and pid to the playlist url, which fixes the download
functionality. But downloads now stop after a couple of minutes if you
are not logged in.
2020-09-28 14:34:11 +02:00
0xb00bface 8b6d246732 Merge branch 'pp' into dev 2020-09-27 15:25:49 +02:00
0xb00bface f29ae0eb69 Improve creation of segment URLs 2020-09-27 00:51:53 +02:00
0xb00bface 43cf0a0bc1 Add placeholder for recording notes 2020-09-26 20:19:01 +02:00
0xb00bface 5fa72eaaa0 Add setting to define the download file name 2020-09-26 19:52:09 +02:00
0xb00bface f575958fe9 Fix equals and hashcode
equals and hashcode used the path field, which is empty for old
recordings. Fixed by using getAbsoluteFile() instead
2020-09-26 18:10:16 +02:00
0xb00bface 93deeb3e52 Remove unused postProcessing setting 2020-09-26 17:22:42 +02:00
0xb00bface b8ffdb32ce Change config mock, so that the config dir is in the temp test dir 2020-09-26 17:04:17 +02:00
0xb00bface 4aca861390 Remove unused settings 2020-09-26 16:32:31 +02:00
0xb00bface 6fa6c63c85 Add test for DeleteTooShort pp 2020-09-26 16:07:11 +02:00
0xb00bface 9806badf57 Fix bug in Move pp 2020-09-26 15:14:54 +02:00
0xb00bface 13783140e9 Add test for Copy pp 2020-09-26 14:23:48 +02:00
0xb00bface 02814440d2 Add more tests 2020-09-25 21:09:50 +02:00
0xb00bface 43de2c2620 Add test for DeleteOriginal pp 2020-09-25 19:43:00 +02:00
0xb00bface b2b6a623ef Add more post-processing tests 2020-09-25 00:09:23 +02:00
0xb00bface 87d88b5bcb Add webhook post-processor skeleton 2020-09-24 11:35:55 +02:00
0xb00bface 30021d184d Add DeleteTooShort post-processor 2020-09-24 11:35:37 +02:00
0xb00bface f6afed3717 Add script post-processor 2020-09-23 18:52:30 +02:00
0xb00bface 67ff48e2dc Pass RecordingManager to post-processors 2020-09-22 22:15:28 +02:00
0xb00bface 7b1898072f Make recording single file after remux
Also set the file size to the size of the remuxed one
2020-09-22 20:41:07 +02:00
0xb00bface d23f3fea04 Add test for Rename pp for directories 2020-09-22 17:40:03 +02:00
0xb00bface 4167b222ba Add test for Rename post-processor 2020-09-22 14:58:20 +02:00
0xb00bface e1bce0acf5 Improve handling of the orignal and pp files 2020-09-22 12:38:21 +02:00
0xb00bface fbf1c8ac16 Add check, if source and target are the same 2020-09-20 18:27:26 +02:00
0xb00bface bf39d9a639 Implement proper handling of the orignal and pp files
If a copy is created, the original file is not touched anymore.
Otherwise the original file is used and the post-processing process is not repeatable anymore, or at least the results might get unpredictable
2020-09-20 18:14:24 +02:00
0xb00bface 90192d9b8f Fix server stuff for new recording path handling 2020-09-13 19:54:43 +02:00
0xb00bface 4f526fd13e Store absolute path in metadata file instead of path relative to rec dir 2020-09-13 17:34:58 +02:00
0xb00bface f0713b96f5 Try to terminate FFmpeg before killing it 2020-08-30 13:41:43 +02:00
0xb00bface 4f7d080f56 Add more pp steps 2020-08-30 13:41:03 +02:00
0xb00bface 6b81ef6870 Merge branch 'dev' into pp 2020-08-24 15:18:02 +02:00
0xb00bface d7d3e2944b Extend HlsDownload for MV Live to update the cloudflare cookies regularly 2020-08-24 15:16:45 +02:00
0xb00bface 1034488e94 Make RecorderServlet and RemoteRecorder compatible to new recording
fields
2020-08-24 15:15:34 +02:00
0xb00bface 89fa681a59 Increase log level 2020-08-23 13:38:18 +02:00
0xb00bface bdcf1bee00 Implement Renamer post-processor 2020-08-23 13:37:59 +02:00
0xb00bface c7e39fdd98 Fix MV Live models not showing up as recording
MV Live models with spaces in the name would not show up as recording.
2020-08-23 12:46:24 +02:00
0xb00bface 17a32cd928 Add first configurable PP step 2020-08-22 18:35:54 +02:00
0xb00bface 4f8e7dbca2 Merge branch 'dev' into pp 2020-08-21 19:15:08 +02:00
0xb00bface 337b096568 Fix API calls newer than Java 8 2020-08-21 18:19:59 +02:00
0xb00bface 05837b2fed Reset MFC WS on message parsing exception 2020-08-21 18:09:55 +02:00
0xb00bface 7bb33568cf Add new event for when the disk space is exhausted 2020-08-21 17:09:07 +02:00
0xb00bface 3351a976ae Fix: recording started event was not fired in client/server mode 2020-08-21 15:57:50 +02:00
0xb00bface d20680f228 Fix synchronisation problem between client and server
... for actions pin, unpin and setNote
2020-08-21 15:20:23 +02:00
0xb00bface 063395bc74 Increase log level for update check 2020-08-19 19:17:52 +02:00
0xb00bface 6c0fe83816 Don't stop a recording when setting the "stop at" date 2020-08-19 18:36:50 +02:00
0xb00bface fa3e5fbcaf Fix MFC models changing to other models 2020-08-19 18:25:24 +02:00
0xb00bface 2665d50ee1 Assume unknown show type means ONLINE 2020-08-19 17:53:15 +02:00
0xb00bface da3f0632e2 Set version to 3.9.0 2020-08-19 17:21:48 +02:00
0xb00bface 7e2924d780 Add confirmation dialog for shutdown
Show confirmation dialog when a shutdown is requested and there are
recordings in progress. The user now can decide to shutdown immediately,
shutdown gracefully or leave the app running
2020-08-19 12:45:47 +02:00
0xb00bface 335cdb8cb4 Add createModelFromUrl for MVLive 2020-08-18 20:25:05 +02:00
0xb00bface 096ed7a734 Implement proper online check and add search 2020-08-18 19:58:48 +02:00
0xb00bface 8b4a82d158 Add model name to Download threads 2020-08-18 19:57:53 +02:00
0xb00bface 2455797fb2 Use a different HTTP client for each MVLive download
MVLive only allows recording of mor than one stream, if the recorder looks like different HTTP sessions.
That's why we use a different HTTP client with its own cookie jar for each recording.
2020-08-18 14:39:48 +02:00
0xb00bface 7015c3173f Merge branch 'dev' into manyvids 2020-08-18 10:59:48 +02:00
0xb00bface ab10e9c176 Move recording precondition checks to its own class 2020-08-18 10:44:41 +02:00
0xb00bface e06bfaf88b Change the request to get the room number 2020-08-18 10:19:26 +02:00
0xb00bface 36885900b5 Add regular cloudflare cookie updates
MVLive updates those cookies every 2 minutes. This makes sure, that the streaming continues. IF the cookies are not updated, the stream ends after around 2:30 minutes
2020-08-17 12:19:24 +02:00
0xb00bface db186e65f4 Merge branch 'dev' into manyvids
# Conflicts:
#	common/src/main/java/ctbrec/io/HttpClient.java
2020-08-16 17:00:43 +02:00
0xb00bface 4139e42ce2 Set version to 3.8.6 2020-08-16 14:16:38 +02:00
0xb00bface 792a6c10c8 Revert MFC websocket message parsing change 2020-08-15 17:17:31 +02:00
0xb00bface 5c0d841474 Shut down all recordings simultaneously 2020-08-15 16:09:20 +02:00
0xb00bface 6cfdb59c96 Remove log output 2020-08-15 16:06:47 +02:00
0xb00bface 192e7093d3 Fix Flirt4Free models losing their name 2020-08-15 15:29:21 +02:00
0xb00bface 0e61421537 Fix MFC websocket message parser 2020-08-14 19:16:39 +02:00
0xb00bface a0779c118d Reduce log level again 2020-08-09 14:26:12 +02:00
0xb00bface 0fe16f8ff8 Add setting to disable online check for paused models 2020-08-09 12:27:04 +02:00
0xb00bface c02d9562bf Set version to 3.8.5 2020-08-09 11:05:56 +02:00
0xb00bface ee302e49a4 Distinguish between performer_id and display_name for LiveJasmin models 2020-08-09 11:04:24 +02:00
0xb00bface b6e4bad837 Fixed bug in JSON parsing
Some models wouldn't get recorded, because of a missing element in the
JSON doc
2020-08-08 21:23:38 +02:00
0xb00bface caf329eb23 Change look of the model table in the web interface 2020-08-08 20:11:48 +02:00
0xb00bface e55daa0772 Add GUI and remote support for temporary recordings 2020-08-08 17:51:03 +02:00
0xb00bface 729319dfd2 Add mechanism to record a model only up to a certain timestamp 2020-08-08 15:28:29 +02:00
0xb00bface cbd529d001 Replace wrong username used to retrieve the token balance 2020-08-08 13:37:21 +02:00
0xb00bface 81643545d2 Set version to 3.8.4 2020-07-26 15:42:36 +02:00
0xb00bface 2154aacdbe Fix problem, that downloads wouldn't finish properly
Some downloads couldn't be stopped properly, because they would wait for
segment data to arrive to write to disk indefinitely. We now only wait
for a max of 30 seconds and also cancel all futures, which are waiting
for segment data.
2020-07-26 15:40:03 +02:00
0xb00bface 963f0f0f5f Change order how things are shutdown 2020-07-26 15:14:44 +02:00
0xb00bface d63c98cf36 Fix NPEs in MFCs ServerConfig 2020-07-26 15:14:22 +02:00
0xb00bface 64c6b9aa4f Enable rerun PP for multiple recordings 2020-07-26 11:07:55 +02:00
0xb00bface c80230cee7 Add support for xHamsterLive 2020-07-20 18:44:25 +02:00
0xb00bface bc872b1ed5 Set version to 3.8.3 2020-07-19 18:23:32 +02:00
0xb00bface e50b9bcc71 Close response in onClosed in F4F websocket 2020-07-19 18:23:16 +02:00
0xb00bface 7462d68d7b Add external login dialog for stripchat
This also enables us to support xhamsterlive
2020-07-19 15:17:31 +02:00
0xb00bface 882742ce3b Make MFC client and getOnlineModels more robust 2020-07-18 19:30:24 +02:00
0xb00bface 010c4a04cd Adjust log levels 2020-07-18 19:15:09 +02:00
0xb00bface 7ff731ec88 Fix CamSoda downloads 2020-07-18 19:05:41 +02:00
0xb00bface 6ca0e61f1f Improve exception handling 2020-07-18 19:05:09 +02:00
0xb00bface b1d5d959d4 Add URL to HttpException 2020-07-18 12:48:12 +02:00
0xb00bface c50519be82 Fix CamSoda recordings 2020-07-18 12:48:00 +02:00
0xb00bface 4b2e17d0b1 Fix Cam4 favorites tab 2020-07-16 19:51:14 +02:00
0xb00bface 03b6de626c Fix Streamate
The way to obtains the xsrf token has changed
2020-07-16 18:53:22 +02:00
0xb00bface 3f4973137c Reduce core pool size to 0 for the download thread pool
Most of the time only one thread is used, so we can save resources by
reducing the core pool size
2020-07-16 18:52:34 +02:00
0xboobface 296585463a Don't apply min/max resolution settings, if resolution is unknown 2020-07-12 13:32:06 +02:00
0xboobface ed26228d7b Increase version number to 3.8.2 2020-07-12 13:11:19 +02:00
0xboobface f79b5eddc5 Reduce HTTP connection keep-alive to 1 minute 2020-07-12 12:39:49 +02:00
0xboobface 764119e20a Reduce event bus thread pool size from 10 to 2 2020-07-12 12:37:47 +02:00
0xboobface 59697c600f Reduce global connection pool size from 50 to 20
Also remove the second connectionPool call, which accidentally was left
in and rendered the global connection pool useless
2020-07-12 12:37:03 +02:00
0xboobface 9bb18426a6 Interrupt keep alive thread on reconnect
On reconnect interrupt the current keep alive thread, so that we don't
pile up a bunch keep alive threads, if the there is a problem with the
websocket connection.
2020-07-11 14:15:34 +02:00
0xboobface 6600b0da94 Get the authentication and the stream working 2020-07-10 22:12:28 +02:00
0xboobface ed0f5476b5 Merge branch 'dev' into manyvids 2020-07-10 18:09:26 +02:00
0xboobface 64569f83ab Optimize http client shutdown 2020-07-05 14:07:15 +02:00
0xboobface e7349b2118 Set version to 3.8.1 2020-07-03 19:12:18 +02:00
0xboobface d2c2cb476b Fix MyFreeCams websocket message parsing 2020-07-03 18:56:59 +02:00
0xboobface 09337aa59a Update Java class with newer Java versions 2020-06-30 20:45:24 +02:00
0xboobface 3382c7ff54 Fix initialization of the range slider 2020-06-30 19:40:08 +02:00
0xboobface d3d9662ec5 Add websocket client 2020-06-20 11:17:19 +02:00
0xboobface e6fa97dc15 Add affiliate link 2020-06-14 15:07:58 +02:00
0xboobface 00692f991e Add UI part for MVLive
At the moment only the thumbnail overview is working. More stuff to come...
2020-06-14 15:07:54 +02:00
0xboobface e59de2f70b Add base classes for Manyvids Live 2020-06-14 15:06:17 +02:00
0xboobface ff08fda618 Set default for max resolution to max value 2020-06-14 11:22:26 +02:00
0xboobface 3b5cbfaddf Fix NPE in getHttpHeaderFactory in MyFreeCamsModel 2020-06-14 11:22:01 +02:00
0xboobface 6e25f98b2b Add range slider for the recording resolution 2020-06-13 20:08:25 +02:00
0xboobface 229fc1f432 Add possibility to add notes to recordings 2020-06-13 19:32:00 +02:00
0xboobface 583c4ec722 Implement bandwidth meter for remote recording 2020-06-12 19:18:53 +02:00
0xboobface 43d2676e11 Add HttpHeaderFactory mechanism
Each model can provide its own factory to provide HTTP headers for the
different download requests (playlist, segment playlist, segments)
2020-06-12 18:24:34 +02:00
0xboobface 06029a1331 Code cleanup 2020-06-12 18:22:12 +02:00
0xboobface cd6175a7eb Add BandwidthMeter, which tracks the current bandwidth usage 2020-06-12 18:21:32 +02:00
0xboobface bd48d6bf9c Set version to 3.8.0 2020-06-12 18:10:56 +02:00
0xboobface 0ed6d93d30 Set version to 3.7.3 2020-06-09 19:36:17 +02:00
0xboobface d55f1c04ee Fix MFC websocket communication
The protocol had been changed for the initial login sequence
2020-06-09 19:33:43 +02:00
0xboobface 7e4a6393b0 Set version to 3.7.2 2020-06-07 13:57:15 +02:00
0xboobface acd6126619 Add "New" tab to each site where it was missing 2020-06-07 13:53:54 +02:00
0xboobface fdce3bcec0 Fix chaturbate login check
The check if ctbrec is logged in always returned true because of a
change on the user profile page. ctbrec now uses the user icon to check,
if the user is the anonymous user or a logged in user.
2020-06-07 12:28:08 +02:00
0xboobface c8614d7208 Set version to 3.7.1 2020-05-31 18:44:04 +02:00
0xboobface 1bea13dc05 Improve server download progress calculation 2020-05-31 17:20:25 +02:00
0xboobface b87f090ac3 Add max resolution setting for the player 2020-05-31 14:50:12 +02:00
0xboobface 258334b637 Add setting to remove recordings after post-processing 2020-05-29 19:50:03 +02:00
0xboobface 0858941b50 Fix NPE in MFC client 2020-05-23 16:20:49 +02:00
0xboobface f1a0e5900c Fix createModelFromUrl for Showup and Fc2Live 2020-05-23 16:20:32 +02:00
0xboobface 3958a7b5f1 Reduce log level in getModelList 2020-05-23 13:47:07 +02:00
0xboobface 9eea66d94f Remove the uid field from ShowupModel 2020-05-20 19:37:01 +02:00
0xboobface 9462a31111 Improve detection of stream termination 2020-05-20 19:00:09 +02:00
0xboobface c05785cd20 Improve Showup online detection 2020-05-20 18:18:29 +02:00
0xboobface e096e8555f Fix possible NPE 2020-05-20 18:17:58 +02:00
0xboobface 33a0094b19 Adjust to Stripchat API changes 2020-05-20 18:17:46 +02:00
0xboobface a91923baff Use the small preview image for the thumbnails 2020-05-16 22:45:15 +02:00
0xboobface 66b37b65c0 Set version to 3.7.0 2020-05-16 22:20:06 +02:00
0xboobface 9cd9bdf973 Remove handling for online states private and group
They don't seem to affect the recording of the stream
2020-05-16 22:19:55 +02:00
0xboobface 39c1fd94ba Fix isOnline for SHowupModel 2020-05-16 21:34:39 +02:00
0xboobface 1a5c32167e Preparation for Showup login 2020-05-16 21:30:25 +02:00
0xboobface 6c85a2a493 First working version of Showup.tv 2020-05-16 16:28:44 +02:00
0xboobface bd92c315fb Set version to 3.6.4 2020-05-13 18:46:24 +02:00
0xboobface ef3c036f49 Fix race condition causing orphaned FFmpeg processes
The problem was, that an error occured before FFmpeg was completely
launched. ctbrec called internalStop, but the FFmpeg fields still
pointed to null. ctbrec then finished the recording. In the meantime
FFmpeg fired up and was abandoned by the recording.
2020-05-10 14:58:42 +02:00
0xboobface b820021aee Spawn FFmpeg process only if playlist request was successful 2020-05-10 13:16:47 +02:00
0xboobface e6dae3b2af Set version to 3.6.3 2020-05-10 12:03:32 +02:00
0xboobface 2e4ec80bd8 Reduce visibility of public method 2020-05-10 10:43:53 +02:00
0xboobface 3c4ef05a48 Fix NPE in internalStop 2020-05-10 10:43:37 +02:00
0xboobface cd5172613e Fixed player start for recordings starting with a dash 2020-05-03 15:32:54 +02:00
0xboobface 8cdc2a4a56 Set version to 3.6.2 2020-05-02 14:43:20 +02:00
0xboobface df50646627 Change FFmpeg termination handling again
FFmpeg was killed to early, so that the file encoding was not finished
properly. For example the moov atom was not written for MP4 files. We
now wait at most 5 minutes for FFmpeg to finish and only kill it then
with force.
2020-05-02 12:45:15 +02:00
0xboobface b402bb0df7 Set version to 3.6.1 2020-04-28 22:07:38 +02:00
0xboobface a0d9835192 Fix streamate stream source parsing 2020-04-28 22:05:06 +02:00
0xboobface d78f96fef6 Improve handling of recording termination
This change hopefully helps to terminate FFmpeg reliably once a
recording terminates.
2020-04-25 15:42:41 +02:00
0xboobface 3c86310edf Add stream source "Origin" 2020-04-23 19:28:12 +02:00
0xboobface a30d4ed463 Change data type of all Integer fields to String 2020-04-18 19:51:40 +02:00
0xboobface 0c7650f94f Remove retry loop in getNextSegments
This might cause blocks by MFC because we are asking for a resource,
which is not available.
2020-04-18 19:50:42 +02:00
0xboobface a37a018159 Remove outdated settings for MFC 2020-04-13 19:43:33 +02:00
0xboobface aa42e82153 Set version to 3.6.0 2020-04-13 18:53:29 +02:00
0xboobface e5a9c468eb Remove "(broken)" from MFC's title 2020-04-13 18:52:29 +02:00
0xboobface ae6fa229e7 Add user-agent agent header to every http request in MFC classes 2020-04-13 18:42:57 +02:00
0xboobface 970b9ab574 Fix follow/unfollow for BongaCams 2020-03-28 13:07:54 +01:00
0xboobface 915be1d4fc Save column order in tables 2020-03-22 13:54:31 +01:00
0xboobface 243d2757b0 Set version to 3.5.0 2020-03-19 15:01:34 +01:00
0xboobface 13da583483 Revert refresh of segment playlist url 2020-03-19 15:00:23 +01:00
0xboobface d716354dc1 Add config setting for the number post-processing threads 2020-03-17 20:20:11 +01:00
0xboobface ff9ff8f40f Add dialog to specify media player params in the settings 2020-03-16 20:51:09 +01:00
0xboobface 6f57579041 Add pinning for recordings
Recordings can now be set to pinned. Pinned recordings cannot be
deleted.
2020-03-16 16:10:09 +01:00
ctbrec-contrib-01 e333722522 Improve directory size update performance
Use NIO Files.walkFileTree() instead of IO File.ListFiles() API.
Speed improvement was ~6.1s -> ~4.4s on my recordings list.

TODO: implement more intelligent refresh.
2020-03-03 19:53:29 +01:00
0xboobface 2eb1b17513 Change cookie name of the sorting settings 2020-03-02 20:45:24 +01:00
0xboobface 2f013bc870 Change BongaCams online check 2020-02-29 18:30:57 +01:00
0xboobface 3636d34d22 Set version to 3.4.0 2020-02-27 20:59:53 +01:00
0xboobface 46bd8667c8 Separate site name and displayed title 2020-02-26 21:40:58 +01:00
0xboobface 8cafc7124f Add search for Stripchat 2020-02-23 19:36:14 +01:00
0xboobface e4b9da7685 First working implementation for Stripchat 2020-02-23 18:47:37 +01:00
0xboobface 4dcf9944f8 Set version to 3.3.0 2020-02-22 17:57:03 +01:00
0xboobface 71be9b3665 Improve support for server-side single files 2020-02-22 17:40:22 +01:00
0xboobface 351066e869 Add comment 2020-02-22 14:35:04 +01:00
0xboobface bc929cc6e1 Switch to MergedFfmpegHlsDownload 2020-02-22 14:33:51 +01:00
0xboobface 4f9c1606fc Fix download of recordings 2020-02-22 14:26:50 +01:00
0xboobface 4ebc847720 Use MergedFfmpegHlsDownload for merged HLS downloads 2020-02-22 13:27:17 +01:00
0xboobface 1e95872cb7 Disguise FFmpeg as normal browser 2020-02-22 12:38:28 +01:00
0xboobface f98d442096 Implement custom command line parameters and clean shutdown 2020-02-22 12:19:32 +01:00
0xboobface d2f490f8f6 Add FFmpeg downloaders 2020-02-22 11:20:10 +01:00
0xboobface e98a3bc7c2 Set version to 3.2.1 2020-02-16 17:04:46 +01:00
0xboobface 110fc2a6bf Fix LiveJasmin HD recordings 2020-02-16 15:18:38 +01:00
0xboobface b18a32ede3 Fix LiveJasmin followed tab 2020-02-16 13:28:33 +01:00
0xboobface 9a4461a0d1 Set version to 3.2.0 2020-02-01 10:03:56 +01:00
0xboobface 316d2a7e22 Fix loading of the Streamate model ID 2020-01-31 19:50:17 +01:00
0xboobface 741072b1f0 Rename site to MyFreeCams (broken) 2020-01-26 19:18:30 +01:00
0xboobface 18669a9c43 Fix Streamate
Streamate introduced a CSRF token, which has to be sent in the HTTP
header.
2020-01-26 18:33:13 +01:00
0xboobface 3cf6038da0 Don't kill the ws in the keep-alive thread, if it is establishing a
connection
2020-01-11 13:20:49 +01:00
0xboobface b66989fe85 Set version to 3.1.0 2020-01-11 11:30:02 +01:00
0xboobface 3bb161c055 Add columns "last recorded" and "last seen" to models table 2020-01-05 16:02:22 +01:00
0xboobface 9037b525bd Code cleanup 2020-01-04 16:13:03 +01:00
0xboobface 242897719b Sort models by prio before online check 2020-01-04 15:59:11 +01:00
0xboobface d82c3b490b Implement recording priorities for RemoteRecorder 2020-01-04 15:30:54 +01:00
0xboobface 5448763b9d Fix possible NPE 2020-01-03 21:53:37 +01:00
0xboobface 4d6e74562c Add recording priority for models
Models with high priority will be favored over models with low priority.
Recordings for models with low priority might even get stopped to free
up a slot for a model with a higher priority
2020-01-03 19:06:05 +01:00
0xboobface 808810b6d6 Set version to 3.0.4 2020-01-03 12:43:07 +01:00
0xboobface b12f3e5789 Add setting to switch between DASH and HLS for MFC 2020-01-03 12:27:06 +01:00
0xboobface d8e78bb910 Add null check 2019-12-31 12:53:12 +01:00
0xboobface 643650d69e Change log level 2019-12-30 18:54:47 +01:00
0xboobface c767d14aa9 Use one global connection pool for all http clients 2019-12-30 18:49:50 +01:00
0xboobface 52bc8a6b64 Check the online state of models in parallel
For each site a SingleThreadExecutor is used to check the online state
of the site's models in series. These SingleThreadExecutors run in
parallel to speed the online check up.
2019-12-30 18:30:31 +01:00
0xboobface 24cb3ecf99 Use HLS streaming for MFC models again 2019-12-30 16:15:47 +01:00
0xboobface 499708ffcf Set version to 3.0.3 2019-12-30 14:52:04 +01:00
0xboobface 5ac4241886 Improve logging 2019-12-30 11:59:53 +01:00
0xboobface 5ecad75b0d Wait for stdout and stderr log threads to finish 2019-12-29 22:04:50 +01:00
0xboobface b37178170b Improve logging 2019-12-29 20:50:34 +01:00
0xboobface e0f494d6da Improve recording download from server 2019-12-29 15:39:44 +01:00
0xboobface 8596b1e6e1 Fix log statement, which prevent getMasterPlaylist form working 2019-12-29 15:07:09 +01:00
0xboobface 16dfc07a8e Use AtomicBoolen to indicate, if a download has finished 2019-12-29 14:29:36 +01:00
0xboobface 85bacb8c04 Remove recordings, which fail immediately after starting 2019-12-28 19:58:04 +01:00
0xboobface e333175ecb Fix stream URL for wowza HLS streaming 2019-12-28 19:54:55 +01:00
0xboobface a9d87bfd99 Code cleanup 2019-12-28 19:54:04 +01:00
0xboobface 672d7c23ec Stop immediately, if the manifest download fails and the model is
offline
2019-12-28 19:51:59 +01:00
0xboobface 678a6e5513 Remove redundant log message 2019-12-28 19:50:58 +01:00
0xboobface d820d611f1 Try to update the segment playlist URL, if loading the playlist fails 2019-12-28 16:59:20 +01:00
0xboobface 0fe466bc1a Don't catch exceptions in generatePlaylist 2019-12-28 16:58:43 +01:00
0xboobface a3dee454a5 Write the output of FFmpeg to a log file in the segment directory 2019-12-28 16:57:55 +01:00
0xboobface 2da3d64ac8 Make Model and Download serializable 2019-12-28 16:57:11 +01:00
0xboobface a165a83dca If a recording does not exist, show n/a for its size 2019-12-28 16:56:18 +01:00
0xboobface 6fcbdab174 Reset state to WAITING for FAILED, PP and GENERATING_PLAYLIST on start 2019-12-28 15:42:45 +01:00
0xboobface a59313df49 Code cleanup 2019-12-28 15:38:33 +01:00
0xboobface d742756413 Combine recordings and model locks to one lock
Using 2 locks caused deadlocks.
2019-12-27 23:35:49 +01:00
0xboobface 296396f2d3 Set version to 3.0.2 2019-12-27 15:17:53 +01:00
0xboobface 87b0ce0d21 Use constants from HttpConstants 2019-12-27 15:14:55 +01:00
0xboobface b91bfdc353 Introduce new HttpConstants class for header constants etc 2019-12-27 14:27:10 +01:00
0xboobface 4f852bd5f3 Create a temporary directory for HLS downloads
Create a temporary download directory similar to DASH downloads
2019-12-27 14:26:48 +01:00
0xboobface e8fccb327a Determine the movie's length from the MP4 file
Use the time spent recording the stream as a fallback
2019-12-27 14:21:09 +01:00
0xboobface da4c1bda2c Change log levels of some log messages 2019-12-27 14:02:33 +01:00
0xboobface b72777f6fb Code cleanup 2019-12-27 13:51:48 +01:00