aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* SLS: limit segment DG size to 1024 bytesStefan Pöschel2018-03-101-1/+1
| | | | | | This introduces a slightly larger overhead, but visibly reduces the slide acquisition time when a single slide is used and/or on reception errors.
* SLS: add option to limit slide sizeStefan Pöschel2018-03-044-62/+76
|
* SLS: add support to request slides dir re-readStefan Pöschel2018-02-163-5/+30
| | | | | | | A re-read of the slides dir can now be requested by storing a file named `REQUEST_SLIDES_DIR_REREAD` into the slides dir. When the next slide is going to be encoded and this file is present, the slides dir is re-read and this file is deleted.
* SLS: skip to next working slide on problemStefan Pöschel2018-02-152-15/+32
| | | | | | | When a slide cannot be encoded, skip to the next slide that works. To prevent an infinite loop, no skipping is done when the last slide of the slide store doesn't work and also no earlier slide of it worked.
* Check output file for being FIFOStefan Pöschel2018-02-102-2/+15
|
* Update charset converterMatthias P. Braendli2018-02-092-59/+93
|
* C++11: use atomic bool instead of mutexStefan Pöschel2018-01-282-18/+4
|
* Fix pedantic warnings and MakefileStefan Pöschel2017-08-242-9/+9
| | | | | | - fix pedantic warnings (binary literals) - remove orphaned path from compiler call - add C++11 standard and `-Wpedantic` to compiler call
* Add uniform PAD encoderStefan Pöschel2017-08-242-6/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | The uniform PAD encoder encodes every PAD on demand and is kind of synchronized to the audio encoder by means of the frame duration. Insertion intervals for slides and labels can be set indepentent from each other. It is also possible to specify how often the label is inserted. If the slides interval "0" is used, the next slide is inserted just after the previous one has been transmitted. This is useful e.g. for stations that transmit just a logo slide. An initial burst count can be set to ensure that an audio encoder has enough PADs available e.g. in case the audio encoder encodes DAB+ Superframes at once and hence needs all related PADs. If a slide/label is still in transmission when the transmission of the next one is scheduled, the new transmission is skipped and a warning is shown. In this case it makes sense to increase the PAD length or to instead decrease the slide size or label insertion interval (`-L`). This new PAD encoder does not require any changes on the audio encoder side. Only in case of MP2, a recent revision of ODR-AudioEnc has to be used (commit ce25f2c or later), as it fixes a problem with PADs that solely consist of the F-PAD.
* Move SLS/DLS insertion to base classStefan Pöschel2017-08-242-14/+52
|
* Refactor actual encoder invokationStefan Pöschel2017-08-242-37/+52
| | | | | | - move two vars to base class - handle thread sleep in base class - add missing lock guard for exit var
* Move some objects to PAD encoder base classStefan Pöschel2017-08-242-6/+12
|
* PAD: add function to check if specific DG in queueStefan Pöschel2017-08-242-0/+8
| | | | | The function allows to check e.g. if the previous slide is still in transmission, in order to postpone the transmission of the current one.
* Make data group apptypes constantsStefan Pöschel2017-08-246-5/+18
|
* Small refactoringsStefan Pöschel2017-08-232-6/+11
|
* PAD: add option to output also sole F-PADStefan Pöschel2017-08-232-6/+5
|
* Rename sleep delay to slide intervalStefan Pöschel2017-08-232-5/+5
|
* Rename managers to encodersStefan Pöschel2017-08-235-44/+44
|
* Move current PAD encoder algorithm into subclassStefan Pöschel2017-08-232-24/+46
| | | | | This allows to replace the current PAD encoding algorithm by alternative methods in the future.
* Print used PAD length to logStefan Pöschel2017-08-231-7/+7
|
* DLS: small debug fixesStefan Pöschel2017-08-231-3/+2
|
* Improve perror usageStefan Pöschel2017-08-232-7/+4
|
* Refactor basic PAD encoder structureStefan Pöschel2017-08-232-54/+108
| | | | | | - move main process into new PAD encoder object - hand over options by new separate options object - unify default value retrieval in usage
* SLS: fix open slide file in error caseStefan Pöschel2017-08-231-0/+2
|
* SLS: show precise slides dir open errorStefan Pöschel2017-08-231-1/+1
|
* Move includes/static vars into new main headerStefan Pöschel2017-08-222-21/+50
|
* SLS: move slides dir scan to new slide storeStefan Pöschel2017-08-223-60/+83
|
* Always show version/copyright headerStefan Pöschel2017-07-031-3/+8
| | | | Also update website URL to HTTPS
* Add support for ImageMagick version 7Stefan Pöschel2017-04-302-1/+9
| | | | | | | | | Version 7 introduced slight API changes which are handled accordingly. Legacy version 6 has equivalent support in ODR-PadEnc and there are no plans to remove support for the next years. See also #3.
* Move break handler modificationStefan Pöschel2017-04-301-14/+14
| | | | | Move them right before the loop, as before a break (e.g. while waiting for the audio decoder opening the pipe) didn't lead to termination.
* Move ANSI color tokens to common partStefan Pöschel2017-04-074-7/+14
|
* Add recovery on broken pipeStefan Pöschel2017-04-072-2/+14
| | | | | | | | | When the opposite side of the PAD FIFO disconnects (e.g. due to crash of the audio encoder), ODR-PadEnc crashed as well due to SIGPIPE. This commit changes the behaviour. From now on instead error messages are displayed and it is possible for a new instance of the audio encoder to reconnect to the still running ODR-PadEnc instance.
* Refactor SLSManager::encodeFileStefan Pöschel2017-04-071-57/+43
| | | | | | - fix compile warning w/o MagickWand - limit variable scope - fix variable types
* Fix setting of removed variableStefan Pöschel2017-04-071-1/+0
| | | | | | | The variable survived a refactoring and is orphaned since. Only compilation without MagickWand was affected. Fixes #4.
* Use C headers where appropriateStefan Pöschel2017-03-182-3/+3
| | | | | Using the C++ versions does not guarantee the availability of the global namespace functions.
* Add cleanup before terminationStefan Pöschel2017-03-101-2/+32
| | | | | Add signal handler for SIGINT and SIGTERM that closes the output socket and deinits ImageMagick (if used).
* SLS: output ImageMagick version in verbose modeStefan Pöschel2017-03-101-0/+2
|
* Fix printf format warningStefan Pöschel2017-03-091-1/+1
|
* SLS: fix also missed freeStefan Pöschel2017-03-091-1/+1
|
* SLS: free with MagickRelinquishMemory where neededStefan Pöschel2017-03-071-7/+14
|
* SLS: fix conditional memleakStefan Pöschel2017-03-071-0/+3
| | | | | | | | | | A memleak occured when non-raw mode was used and a slide complied to the following conditions: - PNG/JPG file - 320x240 resolution or less - size above max slide size (~50 KB) Closes #2.
* DLS: emit warning on shortened oversized textStefan Pöschel2017-02-171-1/+3
|
* Hide/Move constantsStefan Pöschel2017-02-155-24/+27
|
* Fix sleep delay to include encoding timeStefan Pöschel2017-02-151-1/+6
| | | | | | | | Up to now the delay between two loop runs was slightly higher than the specified sleep delay as the sleeping process did not consider the time the PAD encoding needs but rather sleeped for the set sleep delay. This is now fixed by using a steady clock.
* Fix slide name coloringStefan Pöschel2017-02-151-4/+4
|
* Fix alphabetic slide sortingStefan Pöschel2017-02-151-23/+28
| | | | | | | The alphabetic sorting within the slide dir was ignored so far. Now the sorting is considered while adding slides for transmission. Furthermore now also files starting with "." are added (except the ./.. dirs).
* Refactor main loopStefan Pöschel2017-02-151-82/+73
|
* Small refactoringsStefan Pöschel2017-02-157-57/+61
|
* DLS/SLS: use ANSI colors for label/filenameStefan Pöschel2017-02-112-3/+3
|
* DLS: add feature to switch between multiple filesStefan Pöschel2017-02-111-20/+36
|