45 Commits

Author SHA1 Message Date
Fred Gleason
554e07fcaa 2021-10-07 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdimport(1) that caused premature validation
	of metadata.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-10-07 15:19:40 -04:00
Fred Gleason
19d0cb27f7 2021-10-06 Fred Gleason <fredg@paravelsystems.com>
* Fixed an arithmetic overflow bug in 'RDWaveFile' that could
	cause the play length of MPEG-encoded to be incorrectly calculated.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-10-06 13:07:32 -04:00
Fred Gleason
b69efb80ab 2021-09-30 Fred Gleason <fredg@paravelsystems.com>
* Overhauled the code for reading MPEG frame headers in 'RDWaveFile'.
	* Fixed a bug in the rdxport 'Import' service that could result in
	incorrect end marker placement when processing variable bit rate
	(VBR) MPEG files.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-09-29 17:05:25 -04:00
David Klann
d0ab62a5bf
Be less 'greedy' copying CartChunk Cut ID data.
QStrings, like C strings end with "0", so
stop when reaching the first instance of 0.

Signed-off-by: David Klann <dklann@broadcasttool.com>
2021-01-17 15:55:29 -06:00
Fred Gleason
5692b42aef 2020-07-07 Fred Gleason <fredg@paravelsystems.com>
* Modified 'RDWaveFile' to work around known fencepost errors in
	WAV files generated by "Sonic Studio soundBlade" by
	"PME Mastering, Inc."

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-07-07 12:08:49 -04:00
Fred Gleason
0c458f077f 2019-12-05 Fred Gleason <fredg@paravelsystems.com>
* Implemented a work-around for importing CartChunk data containing
	a buggy ENCO implemention of the 'AUD' CartChunk timer.
2019-12-05 13:51:09 -05:00
Fred Gleason
5b36f066b4 2019-11-22 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdimport(1) that caused null characters to
	be written to cart metadata fields when importing files containing
	an 'AIR1' RIFF chunk.
2019-11-22 17:28:23 -05:00
Fred Gleason
e62c5fcb00 2019-10-22 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDStringToHex()' function to 'lib/rd.conf.cpp'.
	* Fixed bugs in 'RDWaveFile' that caused strings of null characters
	to be written into unfilled CartChunk string fields.
2019-10-22 19:00:53 -05:00
Dennis Graiani
2d194f8873 Disregard offset in Segue marker when importing AudioVAULT files. 2019-07-23 15:04:25 -04:00
Fred Gleason
ff9829ae71 2019-06-26 Fred Gleason <fredg@paravelsystems.com>
* Added support for reading the following ID3 tags: 'LABEL',
	'TIT2','TALB', 'TPUB', 'TCOM', 'TPE3', 'TYER', 'DATE' and 'TBPM'.
2019-06-26 17:02:08 -04:00
Fred Gleason
b238398377 2019-06-05 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug that caused exported PCM24 WAV files to indicate
	an incorrect 'dwLevelReference' value in the cart chunk.
2019-06-05 19:38:52 -04:00
Fred Gleason
900f101d7b 2019-06-05 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug that caused exported WAV files to use invalid default
	date expressions in the cart chunk.
2019-06-05 19:26:13 -04:00
Fred Gleason
43f441422d 2019-06-04 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdimport(1) that caused a segfault when
	processing an ID3 tag with a field that contained a null value.
2019-06-04 15:09:17 -04:00
Patrick Linstruth
089053b45b Fixed bug where QFile.open(fd) exhausted by file handles by not specifying QFile::AutoCloseHandle option. 2019-05-30 18:54:41 -07:00
Fred Gleason
aa59fbb0f5 2019-05-03 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression that broke audio importation in rdimport(1).
2019-05-03 15:42:40 -04:00
Fred Gleason
b0e92a7899 2019-05-01 Fred Gleason <fredg@paravelsystems.com>
* Fixed bugs in the 'Import' Web API call that caused import of
	filenames containing multibyte UTF-8 characters to fail.
2019-05-01 17:15:59 -04:00
Fred Gleason
3c363ff5f5 2019-03-06 Fred Gleason <fredg@paravelsystems.com>
* Renamed the 'RDWaveData::introStartPos()' method to
	'RDWaveData::talkStartPos()'.
	* Renamed the 'RDWaveData::setIntroStartPos()' method to
	'RDWaveData::setTalkStartPos()'.
	* Renamed the 'RDWaveData::introEndPos()' method to
	'RDWaveData::talkEndPos()'.
	* Renamed the 'RDWaveData::setIntroEndPos()' method to
	'RDWaveData::setTalkEndPos()'.
2019-03-06 11:14:13 -05:00
Fred Gleason
26c9ff87c0 2019-02-11 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'RDWaveFile' class that could prevent
	reading of an 'rdxl' tag in an ID3 tag generated by a pre-v3.x
	version of Rivendell.
2019-02-11 14:33:58 -05:00
Fred Gleason
34f970ee79 2019-02-11 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'RDWaveFile' class that could cause a segfault
	when opening a file containing a null ID3 tag.
2019-02-11 09:00:30 -05:00
Fred Gleason
e8c619988f 2018-11-14 Fred Gleason <fredg@paravelsystems.com>
* Added a '--metadata-cart=' switch to the 'audio_convert_test'
	test harness.
	* Added an 'audio_metadata_test' test harness.
	* Modified ID3 tag reading/writing to use TagLib.
2018-11-14 14:40:44 -05:00
Fred Gleason
75bec4d3c4 2018-10-19 Fred Gleason <fredg@paravelsystems.com>
* Removed 'build_win32.bat'.
	* Removed all conditional compilation based on 'WIN32'.
2018-10-19 17:03:58 -04:00
Fred Gleason
796e1bebc3 2018-08-07 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'pam_rd' plug-in.
	* Removed rdchunk(1).
	* Upgraded Qt3 to Qt4.
2018-08-07 10:09:49 -04:00
Fred Gleason
6b1a06a910 2018-08-03 Fred Gleason <fredg@paravelsystems.com>
* Fixed bugs in 'RDWaveFile' that caused corruption of UTF-8
	strings in RDXL chunks.
2018-08-03 15:21:39 -04:00
Fred Gleason
c722e4fe09 2018-07-23 Fred Gleason <fredg@paravelsystems.com>
* Fixed a buffer overflow vulnerability in the 'RDWaveFile' class.
2018-07-23 17:39:03 +00:00
Fred Gleason
23c9d6136e 2016-09-13 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in 'lib/rdwavefile.cpp' that caused RDXL
	chunks to be written with odd chunk lengths.
2016-09-13 08:29:33 -04:00
Fred Gleason
d232842b0c 2016-08-02 Fred Gleason <fredg@paravelsystems.com>
* Added a work-around in 'lib/rdwavefile.cpp' to ensure that RDXL
	chunks are always of even length.
2016-08-02 17:43:41 -04:00
Fred Gleason
1c52c13a7b 2016-08-02 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'lib/rdwavefile.cpp' that caused WAV files to
	be written with incorrect LEVL chunk data.
2016-08-02 16:18:30 -04:00
Fred Gleason
fdc40e8bbb 2016-07-23 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up warning in 'lib/rdlog_line.cpp'.
	* Cleaned up warning in 'lib/rdwavefile.cpp'.
	* Cleaned up warning in 'rdlogmanager/edit_event.cpp'.
2016-07-23 12:13:30 -04:00
Fred Gleason
d8636ebb2c 2016-07-13 Fred Gleason <fredg@paravelsystems.com>
* Implemented storage of RDXML data structures within a 'rdxl'
	user defined information frame in ID3 tags 'lib/rdwavefile.cpp' and
	'lib/rdaudio_convert.cpp'.
2016-07-13 10:11:08 -04:00
Fred Gleason
b508b7a0ca 2016-07-12 Fred Gleason <fredg@paravelsystems.com>
* Added support for reading conductor field values (TPE3) from
	ID3 tags in 'lib/rdwavefile.cpp'.
2016-07-12 15:22:20 -04:00
Fred Gleason
b64b01b148 2016-07-12 Fred Gleason <fredg@paravelsystems.com>
* Implemented storage of RDXML data structures within a 'rdxl' chunk
	in WAV files.
2016-07-12 14:36:17 -04:00
Fred Gleason
e5b25668c0 2016-04-29 Fred Gleason <fredg@paravelsystems.com>
* Added a pointer offset argument to the 'RDWaveFile::createWave()'
	method in 'lib/rdwavefile.cpp' and 'lib/rdwavefile.h'.
2016-04-29 17:15:20 -04:00
Fred Gleason
09aa449509 2016-04-29 Fred Gleason <fredg@paravelsystems.com>
* Implemented export for marker data in WAV files in
	'lib/rdwavefile.cpp' and 'lib/rdwavefile.h'.
2016-04-29 13:29:28 -04:00
Fred Gleason
c0446ea5f7 Merged 04bd883b65b9922c35216b92b4da52245fdc7f5b from master 2015-09-15 08:06:20 -04:00
Fred Gleason
07869f9ee9 2015-08-30 Fred Gleason <fredg@paravelsystems.com>
* Added a --frames=' parameter in 'tests/audio_peaks_test.cpp'.
	* Fixed a benchpost bug in generating peak energy data in
	'lib/rdwavefile.cpp'.
2015-08-31 12:03:45 -04:00
Fred Gleason
8d70a79387 2015-08-29 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDAudioConvert::Stage3Pcm24()' method in
	'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Added a 'Format::Pcm24' value to the 'RDSettings::Format'
	enumeration in 'lib/rdsettings.h'.
	* Modified the 'RDAudioConvert' class to support generating PCM24
	output in 'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Modified the 'RDPlayStream' class to support playing PCM24
	data in 'rdhpi/rdplaystream.cpp'.
	* Modified the 'RDRecordStream' class to support capturing PCM24
	data in 'rdhpi/rdrecordstream.cpp'.
	* Added an 'audio_peaks_test' harness in 'tests/audio_peaks_test.cpp'
	and 'tests/audio_peaks_test.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_rdlibrary.cpp' and 'rdadmin/edit_rdlibrary.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_decks.cpp'.
	* Added PCM24 support for file importation in
	'web/rdxport/import.cpp'.
	* Added an 'RDCae::Pcm24' value to the 'RDCae::AudioCoding
	enumeration in 'lib/rdcae.h'.
2015-08-30 07:49:44 -04:00
Chris Smowton
cff4c44815 Back out unrelated FLAC fix 2014-12-22 00:25:20 +00:00
Chris Smowton
988e9a73fe Fix compile bugs, and avoid defining "LC" (from neaacdec.h) since that clashes with a Rivendell internal symbol. 2014-12-21 21:13:29 +00:00
Chris Smowton
f63b14cca9 MP4 support v2 (undebugged). This replaces callouts to faad with use of libfaad (aka neaacdec) and loads all components dynamically, much like existing MP1/2/3 support. 2014-12-21 20:16:45 +00:00
Chris Smowton
aae6763f4f Merge remote-tracking branch 'upstream/master' into m4a-feature 2014-12-20 19:04:09 +00:00
Alban Peignier
5c2ccaf324 Defines RDWaveFile ext_time_length/time_length for flac format 2014-10-04 11:13:03 +02:00
Chris Smowton
4704ca52c0 Add M4A import support using MP4V2 and faad. 2014-09-22 00:37:50 +01:00
Fred Gleason
bbeff9f343 2014-08-27 Fred Gleason <fredg@paravelsystems.com>
* Added support for RIFF WAV files with WAVE_FORMAT_MPEGLAYER3
	format in 'lib/rdwavefile.cpp' and 'lib/rdwavefile.h'.
2014-08-27 19:31:29 -04:00
Fred Gleason
89b846f7d6 2014-08-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed warnings in 'lib/rdaudioconvert.cpp'.
	* Fixed warnings in 'lib/rdaudioexport.cpp'.
	* Fixed warnings in 'lib/rdaudioimport.cpp'.
	* Fixed warnings in 'lib/rdcart_dialog.cpp'.
	* Fixed warnings in 'lib/rdconf.cpp'.
	* Fixed warnings in 'lib/rdcopyaudio.cpp'.
	* Fixed warnings in 'lib/rdescape_string.cpp'.
	* Fixed warnings in 'lib/rdevent_line.cpp'.
	* Fixed warnings in 'lib/rdfeed.cpp'.
	* Refactored 'RDOneShot' to use int values in 'lib/rdoneshot.cpp'
	and 'lib/rdoneshot.h'.
	* Fixed warnings in 'lib/rdpeaksexport.cpp'.
	* Fixed warnings in 'lib/rdtrimaudio.cpp'.
	* Fixed warnings in 'lib/rdwavefile.cpp'.
	* Fixed warnings in 'rdhpi/rdhpiplaystream.cpp'.
	* Fixed warnings in 'rdhpi/rdhpirecordstream.cpp'.
	* Fixed warnings in 'rdhpi/rdhpisoundcard.cpp'.
	* Fixed warnings in 'pam_rd/pam_rd.cpp'.
	* Fixed warnings in 'rdadmin/edit_rdairplay.cpp'.
	* Fixed warnings in 'rdairplay/list_log.cpp'.
	* Fixed warnings in 'rdairplay/log_play.cpp'.
	* Fixed warnings in 'rdairplay/pie_counter.cpp'.
	* Fixed warnings in 'rdairplay/rlm_host.cpp'.
	* Fixed warnings in 'rdcatchd/rdcatchd.cpp'.
	* Fixed warnings in 'rdlogedit/editlog.cpp'.
	* Fixed warnings in 'rdlogmanager/rdlogmanager.cpp'.
	* Fixed warnings in 'rdrepl/replfactory.h'.
	* Fixed warnings in 'ripcd/acu1p.cpp' and 'ripcd/acu1p.h'.
	* Fixed warnings in 'ripcd/bt16x2.cpp' and 'ripcd/bt16x2.h'.
	* Fixed warnings in 'ripcd/btss164.cpp' and 'ripcd/btss164.h'.
	* Fixed warnings in 'ripcd/btss42.cpp' and 'ripcd/btss42.h'.
	* Fixed warnings in 'ripcd/btss44.cpp' and 'ripcd/btss44.h'.
	* Fixed warnings in 'ripcd/btss82.cpp' and 'ripcd/btss82.h'.
	* Fixed warnings in 'ripcd/btsrc16.cpp' and 'ripcd/btsrc16.h'.
	* Fixed warnings in 'ripcd/btsrc8iii.cpp' and 'ripcd/btsrc8iii.h'.
	* Fixed warnings in 'ripcd/livewire_mcastgpio.cpp'.
	* Fixed warnings in 'ripcd/local_gpio.cpp' and 'ripcd/local_gpio.h'.
	* Fixed warnings in 'ripcd/sas64000gpi.cpp' and 'ripcd/sas64000gpi.h'.
	* Fixed warnings in 'ripcd/vguest.cpp' and 'ripcd/vguest.h'.
	* Fixed warnings in 'utils/rdhpiinfo/rdhpiinfo.cpp'
	* Fixed warnings in 'utils/rdgen/wavlib.cpp'
	* Fixed warnings in 'utils/rdimport/rdimport.cpp'
	* Fixed warnings in 'utils/rdsoftkeys/rdsoftkeys.cpp'
	* Fixed warnings in 'web/rdxport/export.cpp'
2014-08-14 19:08:38 -04:00
Fred Gleason
afd67c7af8 Initial import of CVS-v2_8_branch 2014-08-12 15:13:02 -04:00