9 Commits

Author SHA1 Message Date
Jonathan Thomas
d87e9e49c8 Un-reverting previous commit, removing queuing from FFmpegWriter for simplicity. Increasing margin on webm unit tests, when checking pixel color. 2024-02-10 20:28:47 -06:00
Jonathan Thomas
038dd175ec Reverting changes to FFmpegWriter to test unit tests on GitHub builder 2024-02-10 20:02:13 -06:00
Jonathan Thomas
48f11e92f0 Remove queuing and spooling support from FFmpegWriter to reduce complexity. Most codecs handle the multi-tasking themselves, making this code mostly useless. 2023-07-18 18:21:57 -05:00
FeRD (Frank Dana)
93debab7c4 FFmpegWriter: Macro & member cleanup
- The `fmt` class member, which was of type AVFormat*, was really
  just an unnecessary copy of `(AVFormatContext*)oc->oformat`.
  But we were ASSIGNING into its members, which we were definitely
  not supposed to be doing. (And in recent FFmpegs, now that
  `AVFormat` has been `const`d, we can't.) It's gone; now we just
  use `oc->oformat` anywhere we used to access `fmt`.

- The preprocessor macro to allocate a new _stream_ was a mess of
  cross purposes: It did allocate a stream, but then it also
  allocated a new AvCodecCtx on newer FFmpeg releases. Worse (and
  always galling to me), it proceeded to assign to a variable
  that WASN'T passed in to the macro, just taking it on faith that
  it would only be used where that variable was defined. That's
  just... ugh. So I broke it apart into two steps (stream creation
  and context allocation), realized the stream creation code was
  the same for all ffmpeg versions and didn't need to be a macro
  at all, and now a 4-parameter, 6-line magical macro has been
  replaced with a simple, zero-side-effect one-liner.

- I also cleaned up the add_video_stream() code to be more like
  the add_audio_stream() code, since they were bad-different for
  no discernible reason.
2022-02-24 07:29:08 -05:00
FeRD (Frank Dana)
3b1d4102af FFmpegWriter: Format ZmqLogger calls, move headers 2022-01-12 11:02:52 -05:00
Frank Dana
59138ea3e4 Adopt license management via Reuse project/tool (#711)
* reuse-managed license/copyright headers

reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.

* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
  - Add headers to source files
  - Change blanket licensing in .reuse/dep5 to only cover binary media
  - Import CC-BY-3.0 license and assign to sintel_trailer
2021-10-16 01:26:26 -04:00
Jonathan Thomas
850140df7d Switch to pkt.duration for incrementing PTS, and rename the 2 timestamp variables to something more sane. 2021-06-26 17:24:15 -05:00
FeRD (Frank Dana)
2f3615f706 Move Exceptions.h includes to .cpp files 2021-01-26 10:52:04 -05:00
FeRD (Frank Dana)
a6441d822d Reorganize source tree (headers in src/)
- src/bindings/ moves to /bindings/
- src/examples/ moves to /examples/
- Contents of include/ merged into src/ with same hierarchy
- src/Qt/demo/ moves to examples/qt-demo/
2020-10-18 05:05:29 -04:00