| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Move the file size checking code to ffmpeg_mux. Use the recently
introduced of_filesize(), making this code consistent with the size
shown by print_report().
|
|
|
|
|
| |
The option is parsed as INT64 (signed). It is also compared to the
output of avio_tell(), which is also int64_t.
|
|
|
|
|
|
|
|
| |
Move header_written into it, which is not (and should not be) used by
any code outside of ffmpeg_mux.
In the future this context will contain more muxer-private state that
should not be visible to other code.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a per-file input option that adjusts an input's timestamps
with reference to another input, so that emitted packet timestamps
account for the difference between the start times of the two inputs.
Typical use case is to sync two or more live inputs such as from capture
devices. Both the target and reference input source timestamps should be
based on the same clock source.
If either input lacks starting timestamps, then no sync adjustment is made.
|
|
|
|
|
|
| |
getenv()
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
|
| |
fps_mode sets video sync per output stream. Overrides vsync for matching
streams.
vsync is deprecated.
|
|
|
|
|
|
|
| |
Use the global stream index rather than an unrelated variable in the
filename.
Broken in 6d5d9246042.
|
|
|
|
|
|
|
|
|
|
| |
Provide a header based inline reimplementation of it.
Using av_fopen_utf8 doesn't work outside of the libraries when built
with MSVC as shared libraries (in the default configuration, where
each DLL gets a separate statically linked CRT).
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
| |
Allows accessing it without going through the muxer context. This will
be useful in the following commits, where the muxer context will be
hidden.
|
|
|
|
|
| |
Use it to simplify check_init_output_file(). Will allow further
simplifications in the following commits.
|
|
|
|
|
| |
Stop accessing OutputFile.ctx. This will be useful in the following
commits, where it will become hidden.
|
| |
|
|
|
|
| |
This option is only supported by ffmpeg.
|
| |
|
|
|
|
|
|
| |
channels is deprecated on all supported raw demuxers.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
|
|
| |
This ensures it's parsed as a CLI option instead of the AVCodecContext AVOption.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
|
|
| |
This is cleaner and allows fine tuning which stream the option is applied to.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
| |
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The earlier code has ignored it for all stream types except
video and subtitles, probably because audio was presumed
to only consist of keyframes. Yet this assumption is not true
for e.g. TrueHD.
Reviewed-by: Jan Ekström <jeebjp@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
|
| |
Bitstream filters inserted between the input and output were never drained,
resulting in packets being lost if the bsf had any buffered.
Signed-off-by: James Almer <jamrial@gmail.com>
|
| |
|
|
|
|
|
|
| |
do_video_out() is the wrong place for it, since the necessary
information is already known when creating the stream and its value
should never change.
|
|
|
|
|
| |
There is never a reason to do this, using symbolic names is always
preferred.
|
|
|
|
|
| |
Stop explicitly defining VSCFR and DROP values, which were never
documented.
|
|
|
|
|
|
|
|
| |
Do this by switching from the dynamic buffer API to the AVBPrint API;
the former has no defined way to check for errors.
This also avoids allocating an AVIOContext.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
|
|
| |
Do this by switching from the dynamic buffer API to the AVBPrint API;
the former has no defined way to check for errors.
This also avoids allocating an AVIOContext.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
| |
Fixes a potential crash upon av_frame_alloc() failure.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, adding a (separately allocated) element to a list of pointers
works by first reallocating the array of pointers and (on success)
incrementing its size and only then allocating the new element.
If the latter allocation fails, the size is inconsistent, i.e.
array[nb_array_elems - 1] is NULL. Our cleanup code crashes in such
scenarios.
Fix this by adding an auxiliary function that atomically allocates
and adds a new element to a list of pointers.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
| |
Also, document it and make it apply to audio in addition to video.
|
|
|
|
|
|
| |
It is already set in new_output_stream().
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
| |
This was almost completely redundant. The only functionality that's no longer
available after this removal is the videotoolbox_pixfmt arg, which has been
obsolete for several years.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The types used by the AVFifo API are inconsistent:
av_fifo_(space|size)() returns an int; av_fifo_alloc() takes an
unsigned, other parts use size_t. This commit therefore ensures
that the size of the muxing_queue FIFO never exceeds INT_MAX.
While just at it, also make sure not to call av_fifo_size()
unnecessarily often.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
| |
|
|
|
|
| |
They did nothing but return an error since 2012.
|
|
|
|
| |
It is undocumented and has been deprecated since 2012.
|
|
|
|
| |
It is undocumented and has been deprecated since 2012.
|
|
|
|
| |
It is undocumented and has been deprecated since 2013.
|
|
|
|
| |
It is undocumented and has been marked as deprecated since 2012.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
send_frame_to_filters() sends a frame to all the filters that
need said frame; for every filter except the last one this involves
creating a reference to the frame, because
av_buffersrc_add_frame_flags() by default takes ownership of
the supplied references. Yet said function has a flag which
changes its behaviour to create a reference itself.
This commit uses this flag and stops creating the references itself;
this allows to remove the spare AVFrame holding the temporary
references; it also avoids unreferencing said frame.
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
|
| |
Based on a commit by Andreas Rheinhardt.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
|
|
| |
Based on a commit by Andreas Rheinhardt.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
|
|
|
|
|
|
| |
Treat values returned from av_dict_get() as const, since they are
internal to AVDictionary.
Signed-off-by: Chad Fraleigh <chadf@triularity.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the code doing this is spread over several places and may
behave in unexpected ways. E.g. automatic 'default' marking is only done
for streams fed by complex filtergraphs. It is also applied in the order
in which the output streams are initialized, which is effectively
random.
Move processing the dispositions at the end of open_output_file(), when
we already have all the necessary information.
Apply the automatic default marking only if no explicit -disposition
options were supplied by the user, and apply it to the first stream of
each type (excluding attached pics) when there is more than one stream
of that type and no default markings were copied from the input streams.
Explicitly document the new behavior.
Changes the results of some tests, where the output file gets a default
disposition, while it previously did not.
|
|
|
|
|
| |
Reviewed-by: Jan Ekström <jeebjp@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|