| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Help debugging.
|
|
|
|
| |
It is not needed outside of ffmpeg_demux.
|
|
|
|
|
| |
Use it for logging. This makes log messages related to this input stream
more consistent.
|
|
|
|
|
| |
It is only needed while processing the stream in add_input_streams(), no
reason to store it in the context.
|
|
|
|
| |
Move {min,max}_pts to it, which is not used outside of ffmpeg_demux.
|
|
|
|
|
| |
Use it for logging. This makes log messages related to this input file
more consistent.
|
|
|
|
|
| |
Use it for logging. This makes log messages related to this output
stream more consistent.
|
|
|
|
| |
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
|
|
|
|
| |
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
|
|
|
| |
Replace it with an array of streams in each InputFile. This is a more
accurate reflection of the actual relationship between InputStream and
InputFile.
Analogous to what was previously done to output streams in
7ef7a22251b852faab9404c85399ba8ac5dfbdc3.
|
|
|
|
| |
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
|
|
|
|
| |
It cannot be true since 1959351aecf. Effectively reverts 6a3833e1411.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The current adjustment of input start times just adjusts the tsoffset.
And it does so, by resetting the tsoffset to nullify the new start time.
This leads to breakage of -copyts, ignoring of input_ts_offset, breaking
of -isync as well as breaking wrap correction.
Fixed by taking cognizance of these parameters, and by correcting start times
just before sync offsets are applied.
|
|
|
|
| |
It should be input-only to this code.
|
|
|
|
| |
Similar to what is done for muxing, may be useful for debugging.
|
|
|
|
|
| |
It is private to the demuxer and do not need to be visible outside of
it.
|
|
|
|
| |
Only the demuxer itself is supposed to do that.
|
|
|
|
|
| |
They are private to the demuxer and do not need to be visible outside of
it.
|
|
|
|
|
| |
They are private to the demuxer and do not need to be visible outside of
it.
|
|
|
|
|
| |
Stop demuxer threads in ifile_close() instead. Simplifies the demuxer
API.
|
|
|
|
|
| |
For now this is just closing the format context and freeing InputFile,
but will contain more in the future.
|
|
|
|
|
| |
Start threads implicitly when ifile_get_packet() is called. Simplifies
the demuxer API.
|
|
|
|
| |
Move InputFile.loop into it.
|
|
|
|
|
|
|
|
|
| |
This is similar to what was done before for output files and will allow
introducing demuxer-private state in future commits
Unlike for muxing, the code is moved to existing ffmpeg_demux.c rather
than to a new file. The reason is just file size - the demuxing code is
much smaller than muxing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It races with the demuxing thread. Instead, send the information along
with the demuxed packets.
Ideally, the code should stop using the stream-internal parsing
completely, but that requires considerably more effort.
Fixes races, e.g. in:
- fate-h264-brokensps-2580
- fate-h264-extradata-reload
- fate-iv8-demux
- fate-m4v-cfr
- fate-m4v
|
|
|
|
|
|
|
|
|
| |
Discontinuity detection/correction is left in the main thread, as it is
entangled with InputStream.next_dts and related variables, which may be
set by decoding code.
Fixes races e.g. in fate-ffmpeg-streamloop after
aae9de0cb2887e6e0bbfda6ffdf85ab77d3390f0.
|
| |
|
|
|
|
| |
Its use is local to input_thread().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-stream_loop is currently handled by destroying the demuxer thread,
seeking, then recreating it anew. This is very messy and conflicts with
the future goal of moving each major ffmpeg component into its own
thread.
Handle -stream_loop directly in the demuxer thread. Looping requires the
demuxer to know the duration of the file, which takes into account the
duration of the last decoded audio frame (if any). Use a thread message
queue to communicate this information from the main thread to the
demuxer thread.
|
|
|
|
| |
Reduces the diff in the following commit.
|
|
|
|
| |
Also rename it to use the ifile_* namespace.
|
|
|
|
|
|
| |
This avoids a potential race with the demuxer adding new streams. It is
also more efficient, since we no longer do inter-thread transfers of
packets that will be just discarded.
|
|
|
|
| |
This is a more appropriate place for this.
|
|
It will contain more demuxing-specific code in the future.
|