| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This was probably not causing any issues, but we would randomly
and needlessly update the pool in the query due to uninitialized
variable.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We use have_data (that comes from libav), instead of only trying 10
times, to know if there are more samples available. The old code was
machine dependent as different amount of samples could be decoded by
different type of (more powerful) machines, and 10 times was not always
sufficient.
https://bugzilla.gnome.org/show_bug.cgi?id=737144
|
| |
|
|
|
|
|
|
|
|
|
| |
We use have_data (that comes from libav), instead of only trying 10 times,
to know if there are more frames available. The old code was machine
dependant as different amount of frames could be decoded by different
type of (more powerful) machines, and 10 times was not always sufficient.
https://bugzilla.gnome.org/show_bug.cgi?id=736515
|
|
|
|
|
|
|
| |
Makes sure that there's really nothing stale left in the decoder
after draining.
https://bugzilla.gnome.org/show_bug.cgi?id=734661
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
have_data is not propagated from gst_ffmpegviddec_video_frame to
gst_ffmpegviddec_frame. have_data is only set to 1 in
gst_ffmpegviddec_frame if a frame pointer is passed. However, this is
not true while draining, which means that have_data from libav will be
ignored.
https://bugzilla.gnome.org/show_bug.cgi?id=734608
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
After the recent addition of negotiation support for MPEG4 part 2
profiles via caps it can happen that the generated caps at this
point still contain multiple profiles. For example if downstream
does not care. Just fixate anything here and use those caps.
|
|
|
|
| |
Place the supported profiles in the srcpad caps of the mpeg4 encoder.
|
|
|
|
|
|
| |
Remove x-xvid and x-3ivx. The last place where they were used are
in the srcpad caps of the decoder but since the decoder will never
actually output those caps we can safely remove them.
|
|
|
|
|
| |
x-xvid is deprecated, we don't want to expose it on the encoder, just
leave it only exposed on the decoder.
|
|
|
|
|
|
| |
This reverts commit e066785ad05f9119e3c1eded46260bcabd556b4d.
x-xvid and x-3ivx are removed, we don't want to expose them again.
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=729268
|
|
|
|
|
|
|
|
|
| |
If audio_in is NULL, we'll send a NULL frame to libav, to flush
the codec. In that case, we won't know how many samples the codec
will have used, so we use -1 (for don't know) when letting the
base class know about the buffer.
Coverity 1195177
|
|
|
|
|
| |
Should fix CID 1219865, which looks like the code analysis
algorithm was just confused.
|
|
|
|
|
|
|
|
|
|
| |
Always enable 4MV flag for MPEG4
Pare the profile property and enable more features for advanced-simple
profile.
video/x-xvid is advanced-simple profile so enable more features.
We now also support encoding of video/x-xvid so add this to the caps.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=651320
|
|
|
|
|
|
| |
We first want to complete negotiation before opening the encoder.
Negotiation might configure flags and other things that might be needed
when opening the encoder.
|
|
|
|
|
| |
We previously mapped some caps to MPEG4 and codec_tag so we can use the
codec_tag again to map to the original caps.
|
|
|
|
|
| |
To remove replicated code from all demuxers to a single standard way
of aggregating flow returns
|
|
|
|
|
|
|
| |
The 'no_buffer' error case is from the 0.10 era when a pad_alloc was
made before decoding the data and avdemuxer could check again the
flow returns for a not-linked. This isn't a valid use case anymore in
1.0
|
| |
|
| |
|
|
|
|
| |
From 211fa5f to 1f5d3c3
|
|
|
|
|
|
|
|
|
|
| |
As some libav encoders (such as MPEG2) use a thread_count parameter to control
how many threads to use, and since it was always being set to 0 (which uses
the default), suboptimal threading can sometimes be chosen. This extends the
libav encoders to allow for a max-threads parameter which is passed into
the internal structure to control this knob if applicable to the encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=726612
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gst_video_decoder_get_max_decding_time doesn't return a GstClockTime
but a GstClockTimeDiff, and thus one needs to compare it against
G_MAXINT_64.
The returning of a boolean and the extra subsequent code in _video_frame
was uselessly complicated.
The previous behaviour led to artefacts when the decoder tried to
hurry up.
https://bugzilla.gnome.org/show_bug.cgi?id=730075
|
| |
|
|
|
|
|
|
|
|
|
| |
As we don't know how many output buffers we need to operate, we need to
avoid pool that can't grow. Otherwise the pipeline may stall, waiting
for buffers. For now, we require it to be able to grow to at least
32 buffers, which I think is a fair amount of buffers for decoders.
https://bugzilla.gnome.org/show_bug.cgi?id=726299
|
| |
|
| |
|
|
|
|
| |
From bcb1518 to 211fa5f
|
|
|
|
|
|
|
| |
While there, fix mixup in num/den with par (copied from fps,
apparently, and fps inverts fps to time base).
Coverity 1139696
|
|
|
|
|
|
| |
and other nonsensical time base values while we're at it.
Coverity 1139699
|
|
|
|
|
|
| |
AVPacket contains AVBufferRef which may leak unless unreffed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=726814
|
|
|
|
|
|
| |
AVPacket contains AVBufferRef which may leak unless unreffed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=726814
|
|
|
|
| |
We can just re-use the encoder variable
|
|
|
|
| |
CID #1139943
|
|
|
|
| |
CID #1139752
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=727673
|