Commit Graph

93 Commits

Author SHA1 Message Date
Brenno
a4109419ac Implemented position remapper inside FrameMapper to fix audio noise when exporting to different fps
The FrameMapper class now receives the updated clip position and returns the correct amount of samples for a given frame number
2020-10-19 16:05:01 -04:00
Jonathan Thomas
8f6c64215e Merge pull request #556 from ferdnyc/use-make-shared
Use std::make_shared to allocate shared ptrs, instead of std::shared_ptr constructors
2020-10-16 14:48:14 -05:00
Jonathan Thomas
6537278c1c This padding is needed to not lose samples in the first frame of a resample. Apparently, we need enough padding, so we exceed the # of samples required for the first frame, and 20 was just too low for many frame rates / sample rates. 2020-09-14 03:13:54 -05:00
FeRD (Frank Dana)
3c2532b4de Use std::make_shared to allocate shared ptrs
std::make_shared does in a single allocation what the constructors
for std::shared_ptr usually take at least 2 allocations to do.
May give us an infinitesimal performance/memory improvement.

https://www.modernescpp.com/index.php/memory-and-performance-overhead-of-smart-pointer
2020-08-20 16:50:12 -04:00
Frank Dana
adab668486 Merge branch 'develop' into ffmpeg-writer 2020-07-08 17:26:38 -04:00
SuslikV
455b6e92bf Fix float to int16_t conversion in resampler
The backward conversion int16_t to float in libopenshot has range
(1.0; -1.0], thus conversion -1.0f to int16_t should be secured.

Float values can exceed the (1.0; -1.0) range. This can cause
distortion in audio instead of limiting values  at max/min for the
int16_t.
2020-03-26 10:17:22 +02:00
FeRD (Frank Dana)
3680144511 FrameMapper: Eliminate is_open member variable
It was being used uninitialized because it's never actually set,
therefore it serves no purpose.
2020-03-22 12:35:31 -04:00
Frank Dana
8ea7449363 Merge branch 'develop' into json-parsing 2020-01-20 15:25:40 -05:00
FeRD (Frank Dana)
22bf6edfba Enhance Json data handling
- Parsing from string to Json::Value is now done by utility function
  openshot::stringToJson() in Json.cpp, all SetJson() methods call it.
- Expand use of const member functions and args where appropriate.
- Use std::to_string() to format int/float values as strings.
- Correct mentions of nonexistent Json::JsonValue type in docstrings
2019-12-27 08:51:51 -05:00
FeRD (Frank Dana)
e502f97d8a Don't compare differently-signed types 2019-12-15 14:22:59 -05:00
Frank Dana
8bde07682c Merge branch 'develop' into std-prefixes 2019-10-22 21:00:27 -04:00
FeRD (Frank Dana)
366ff2c5e6 src: Don't pass "" file_path args to exceptions 2019-08-27 15:47:39 -04:00
FeRD (Frank Dana)
3879b09047 FrameMapper/KeyFrame/Point: std:: prefixes 2019-08-04 22:54:06 -04:00
Jonathan Thomas
12fce8040f Merge pull request #266 from ferdnyc/zmq-default-params
Default values for ZMQ logging calls
2019-07-29 16:30:22 -05:00
Jonathan Thomas
5f331e24df Merge pull request #265 from ferdnyc/catch-by-reference
Exceptions: catch-by-reference and other cleanup
2019-07-29 16:27:40 -05:00
FeRD (Frank Dana)
35eb6adc55 Clean up allocated memory in JSON code 2019-07-11 05:00:47 -04:00
FeRD (Frank Dana)
f29a6bcb27 Trim unnecessary args off logging calls 2019-07-03 14:14:02 -04:00
FeRD (Frank Dana)
25b522589d Always catch-by-reference in C++11 2019-07-03 12:58:02 -04:00
Jonathan Thomas
967f23b8a4 Merge pull request #245 from ferdnyc/license-block
Upgrade Doxygen documentation formatting/content
2019-06-21 00:24:54 -05:00
FeRD (Frank Dana)
744a4f3ec1 Remove Json:Reader
`Json::Reader` has been deprecated for some time, so we replace it with
`Json::CharReader` generated by a `Json::CharReaderBuilder`, or (in the
one instance where we have a stream as input) `Json::parseFromStream();`
2019-06-19 21:20:04 -04:00
FeRD (Frank Dana)
f170fdd009 Update copyright range to current year 2019-06-11 06:48:32 -04:00
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Chris Kirmse
25e51d815e free cache in FrameMapper::Close()
- this hugely reduces the memory used by rendering a timeline
  with a lot of clips
- could be related to issue #239
2019-05-30 09:44:39 -07:00
Chris Kirmse
d5a29500a5 change freeing of frame_mappers allocated in Timeline
- each class is now responsible to free whatever it allocates
- all tests passed on my machine with ffmpeg 3.2
- Clip is now more careful about freeing a reader if it allocated it as well
2019-05-09 10:51:40 -07:00
Chris Kirmse
833fcb8e8e fix a number of memory leaks
- some were with libav functions
- same were due to non-virtual destructors
2019-05-08 15:02:33 -07:00