Commit graph

9 commits

Author SHA1 Message Date
jp9000
f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
Richard Stanway
65fcd20242
libff: Improved handling of EOF in the decoder threads
(Also modifies obs-ffmpeg to handle empty frames on EOF)

Previously the demuxer could hit EOF before the decoder threads are
finished, resulting in truncated output. In the worse case scenario the
demuxer could read small files before ff_decoder_refresh even has a chance
to start the clocks, resulting in no output at all.
2016-04-28 23:58:28 +02:00
jp9000
6ed694f617 deps-libff: Fix starting timestamp bug
Certain input streams (such as remote streams that are already active)
can start up mid-stream with a very high initial timestamp values.
Because of this, it would cause the libff timer to delay for that
initial timestamp, which often would cause it to not render at all
because it was stuck waiting.

To fix the problem, we should ignore the timestamp difference of the
first frame when it's above a certain threshold.
2015-07-04 22:16:22 -07:00
jp9000
171f0e3d26 deps-libff: Offset start of stream by start pts
Now that we're using the timestamps from the stream for playback,
certain types of streams and certain file formats will not start from a
pts of 0.  This causes the start of the playback to be delayed.  This
code simply ensures that there's no delay on startup.  This is basically
the same code as used in FFmpeg itself for handling this situation.
2015-07-04 16:25:37 -07:00
kc5nra
9f301cda94 deps-libff: Add extern "C" to all headers 2015-03-30 17:26:15 -05:00
John Bradley
3628d3402d deps-libff: Add frame dropping
This, if set, instructs the decoders to drop
frames if a specific timing window is not met.
2015-03-19 14:40:24 -05:00
John Bradley
2b3d82aeac deps-libff: Add flag whether a decoder is hardware accelerated
This lets the decoder make decisions based on whether it is a hardware decoder or not.  Specifically, hardware decoders are more strict as to which frames can be dropped in an h264 stream.
2015-03-19 11:54:53 -05:00
John Bradley
b91a98ed44 deps-libff: Refactor AVPacket into ff_packet
This also replaces AVPacketList with ff_packet_list.
2015-03-19 11:54:51 -05:00
kc5nra
5d6a4e5172 deps-libff: Add libff library to deps
This library wraps the ffmpeg library and adds some utility
functions and types.
2015-03-09 21:22:32 -05:00