Commit Graph

82 Commits

Author SHA1 Message Date
0xboobface 1fec124bbc Add BongaCams
This is the first working version. Follow / unfollow and tipping are not
implemented.
2018-11-05 00:41:22 +01:00
0xboobface e9b699fdda Change log level 2018-11-04 13:40:59 +01:00
0xboobface 9da580c6e8 Add setting to define a maximum resolution for recordings 2018-11-04 13:37:27 +01:00
0xboobface 97e2338cec Move getSegmentPlaylistUrl from AbstractModel to AbstractDownload 2018-11-04 13:24:34 +01:00
0xboobface b476c452ad Merge branch 'dev' into camsoda
Conflicts:
	src/main/java/ctbrec/Settings.java
	src/main/java/ctbrec/recorder/server/HttpServer.java
	src/main/java/ctbrec/ui/CamrecApplication.java
	src/main/java/ctbrec/ui/ThumbCell.java
2018-10-30 19:06:20 +01:00
0xboobface c8e3db4021 Merge branch 'dev' into cam4 2018-10-29 22:38:27 +01:00
0xboobface 97e7466352 Fix UI freeze caused by OnlineMonitor
The lock to prevent concurrent access to the list models caused
the app to freeze, if the models list contained many models, because
the OnlineMonitor would block access until it checked the online
state of every model.
2018-10-29 22:30:15 +01:00
0xboobface 34f443c6a9 First addition for Cam4 2018-10-27 22:32:07 +02:00
0xboobface 8287d04396 Set playlist parsing mode to lenient 2018-10-27 22:30:17 +02:00
0xboobface d4bff345a1 Add Camsoda to sites in HttpServer 2018-10-26 23:01:17 +02:00
0xboobface 4e0fb6aaf0 Ignore models for disabled sites in LocalRecorder 2018-10-26 14:16:17 +02:00
0xboobface b4b3e7e910 Improve log statement 2018-10-25 12:56:32 +02:00
0xboobface 330bd29bbf Improve logging for easier debugging 2018-10-25 10:49:56 +02:00
0xboobface 3a181d61a8 Remove debug print statement 2018-10-24 16:52:30 +02:00
0xboobface b87f828313 Fix possible ConcurrentModificationException
Access to the models list is now secured by a Lock
2018-10-24 13:06:58 +02:00
0xboobface 1032c9f94a Fix update service in RemoteRecorder
Models now get their site assigned
2018-10-24 13:06:03 +02:00
0xboobface 00782d4c17 Fix parsing of sequence numbers
Loosened playlist validator rules.
2018-10-23 17:19:23 +02:00
0xboobface 51f0883b64 Fix race condition
The streaming thread might end before the merge thread. In that
case the download would terminate before all data has been written.
2018-10-23 17:17:23 +02:00
0xboobface 8c45c45055 Fix model loading 2018-10-22 16:07:52 +02:00
0xboobface 387661cfdf Abstract more stuff in the site packages 2018-10-21 19:06:01 +02:00
0xboobface 362d90b29b First implementation for MFC
Implemented Tabs are Online and Friends
2018-10-19 23:09:11 +02:00
0xboobface 54de1339fb Add interfaces to abstract from camsite
This step should enable the application to handle different camsites.
At the moment only chaturbate is available, but others like MFC can
now be added. There might be still some things to do, like the settings
and HttpClient etc. But this is the first step to support more sites
than only Chatubate.
2018-10-17 14:11:04 +02:00
0xboobface 05ce02a7e8 Move chaturbate related classes to package ctbrec.sites.chaturbate 2018-10-16 18:41:18 +02:00
0xboobface d68b530e60 Move OS class to package ctbrec 2018-10-16 18:39:25 +02:00
0xboobface 0aa6cad1c3 Move io related classes to ctbrec.io 2018-10-16 18:38:46 +02:00
0xboobface 26a73c3228 Rename ModelAdapter to ModelJsonAdapter 2018-10-16 18:34:41 +02:00
0xboobface 43c29758c4 Add interface Model to abstract from different implementations
Model is the common interface for the implementations of all sites.
At the moment only ChaturbateModel exists.
2018-10-16 18:32:54 +02:00
0xboobface c8eda9303b Fix possible NPE in PlaylistGenerator 2018-10-05 18:31:17 +02:00
0xboobface e22658b285 Add cache for StreamInfo and stream resolution requests 2018-10-03 13:39:03 +02:00
0xboobface 3df1dbf911 Move Chaturbate class to Model
Chaturbate only contains Model related methods. So it makes sense to
encapsulate that functionality in Model.

Use guava LoadingCache in Chaturbate class to cache resolution and
StreamInfo requests. The entries expire after 5 minutes.

Add possibility to filter for public rooms only.
2018-10-01 17:09:27 +02:00
0xboobface ab9f3c7df1 Merge branch 'master' into dev 2018-09-25 15:02:00 +02:00
0xboobface fa745e9acc Add item to context menu to stop recording in RecordingsTab 2018-09-25 13:35:12 +02:00
0xboobface cccb23906d Remove debug logging 2018-09-19 13:43:56 +02:00
0xboobface 9c7f3c3fb4 Add parser input to log message, if the HLS playlist cannot be parsed 2018-09-19 13:29:04 +02:00
0xboobface 69c518d6d6 Change log level for deleted files to trace 2018-09-19 13:28:14 +02:00
0xboobface 527f5f61ff Add setting to split up the recording after x minutes 2018-09-10 13:45:05 +02:00
0xboobface d0a28aee2f Remove exludes from delete method
The excludes is not used anymore, since the whole merging mechanism
has been removed.

Add more debug statements for the different delete statements.
2018-09-09 14:40:08 +02:00
0xboobface 1c5bcaef35 Make sure the streamer is stopped
The streamer has to be stopped, when the download is stopped or
terminates to release the file handle of the recording and to stop
the merge thread
2018-09-09 14:30:21 +02:00
0xboobface 17901901f9 Ignore empty recording directories in LocalRecorder.getRecordings() 2018-09-08 21:56:18 +02:00
0xboobface 528d7336e1 Simplify integration of mpegts-streamer
Get rid of unneded thread complexity.
Use Queue.take() instead of poll() to avoid unnecessary looping and
the CPU load it causes.
2018-09-08 21:53:39 +02:00
0xboobface 7efbeac565 Adjust detection of recording state to new download mechanism 2018-09-08 00:37:15 +02:00
0xboobface 89a69fa797 Change the name of a merged recording to model-date.ts 2018-09-08 00:17:40 +02:00
0xboobface 8fcc8e0f91 Reimplement the download so that it uses the BlockingMultiMTSSource
This should create a transport stream file with proper continuity counters
and timestamps
2018-09-07 23:59:37 +02:00
0xboobface cda1f25dc0 Remove segment mergers
Segment mergers are not needed anymore. Segments get merged during the
recording or during the download from the server.
2018-09-07 17:23:42 +02:00
0xboobface 7cc5764461 Add System property ctbrec.server.mode on server startup
This property gets set by the server, so that we know,
if we are running in server mode or not
2018-09-07 17:20:07 +02:00
0xboobface 3cf3f2751e Improved logging message 2018-09-07 16:51:12 +02:00
0xboobface 51d48bbe87 Remove unnecessary throw clause
Rmove unnecessary throw IOException clause from the constructor of
InputStreamMTSSource
2018-09-07 16:50:24 +02:00
0xboobface b91888f2ae Improve logging messages 2018-09-07 16:46:49 +02:00
0xboobface 698ba72120 Integrate mpegts-streamer to save a recording to a single file
Integrate a modified version of mpegts-streamer (https://github.com/igilham/mpegts-streamer)
Add BlockingMultiMTSSource to mpegts-streamer, which is used to add new InputStreamMTSSources
online for each segment.

Remove all settings and methods, which are needed for segment merging.
2018-09-07 15:16:08 +02:00
0xboobface 22d32bcc64 Add possibility to switch the stream resolution for a recording
Add the possibility to switch the stream resolution for a model, which
already is recorded by the recorder. This makes it more convenient to
switch the resolution, if you already have a bunch of models in the
recorder list.
2018-09-04 16:50:38 +02:00