Age | Commit message (Collapse) | Author | Files | Lines |
|
In the case of analyzing a demuxer chain, analyze_new_pad may create
a new GstDecodeChain. This was not propagated to the calling function which as
of [d50b713f decodebin: set the decode pad target before setting elements to PAUSED]
is now required to be able to expose the correct pad.
https://bugzilla.gnome.org/show_bug.cgi?id=742924
|
|
In case of reconfiguration, text_pad should be re-connected with
stream synchronizer sink pad. Otherwise we'll leave an unlinked pad around if
there always was a streamsynchronizer text pad.
https://bugzilla.gnome.org/show_bug.cgi?id=756804
|
|
failures
https://bugzilla.gnome.org/show_bug.cgi?id=756611
|
|
Otherwise we chain up to the parent class' change_state function and might
override the failure with SUCCESS.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
|
|
pipeline
Not only if the base class told us, but also if one of our own elements did.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
|
|
Otherwise caps and context queries will disappear into nothing and therefore
fail. With autoplug-query now actually working, users (such as playbin) can
proxy these queries to the selected video sink and be able to select an
more appropriate configuration.
https://bugzilla.gnome.org/show_bug.cgi?id=731204
|
|
In case sink implements a streamvolume interface, volume element is being got
from the sink. But this is transfer full. So the memory should be freed before
setting it to NULL. This was resulting in major memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=755867
|
|
Trivial patch to remove unncessary break statement used after
goto statement.
https://bugzilla.gnome.org/show_bug.cgi?id=754054
|
|
Allows to run such a command line :
gst-launch-1.0 uridecodebin uri=file:///home/meh/Music/sthg.mp4 ! \
encodebin profile-string="audio/x-wav|1" ! filesink location=sthg.wav
Previously the code failed because wavenc is considered as a muxer.
We still want encodebin to audio/x-wav as an AudioEncodingProfile,
so this simple fix allows that.
Ability to mux raw streams in containers such as matroskamux
is a different issue.
https://bugzilla.gnome.org/show_bug.cgi?id=751470
|
|
hidden groups should be freed at time of switching groups to avoid memory use
from balloning up.
https://bugzilla.gnome.org/show_bug.cgi?id=755770
|
|
intersection with a downstream that accepts any video/x-raw caps
with no further detail won't create a framerate field. If it's
not in the caps, don't fixate it, just set it to 30/1
|
|
Remove unnecessary brackets from IS_MPEGTS_HEADER macro.
|
|
Allow AFC to be 0 for null pid packets.
https://bugzilla.gnome.org/show_bug.cgi?id=726117
|
|
</ i> should be handled like </i>
https://bugzilla.gnome.org/show_bug.cgi?id=755875
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=755143
|
|
Thanks to John Chang <r97922153@gmail.com> for reporting.
https://bugzilla.gnome.org/show_bug.cgi?id=755098
|
|
|
|
Casting to gpointer from gulong generates the following warning with
64bit Windows target MinGW:
gstplaybin2.c: In function 'pad_added_cb':
gstplaybin2.c:3476:7: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
(gpointer) group_id_probe_handler);
^
cc1: all warnings being treated as errors
We should cast to guintptr from gulong before we cast to gpointer.
https://bugzilla.gnome.org/show_bug.cgi?id=754755
|
|
We need to use the enum to configure the option now.
|
|
The default one will just go through the internal elements which might
just be identity when it is in passthrough which will lead to the query
being handled by the downstream sink, ignoring all that playsinkconvertbin
could actually handle and convert.
https://bugzilla.gnome.org/show_bug.cgi?id=754235
|
|
To avoid invalid pointer accees the err pointer should be set to NULL.
By using g_clear_error() it calls free and clear the pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=753817
|
|
This reverts commit 5c8ef0ea05123506dfc35c70c8b165bca7435dad.
|
|
This reverts commit 1ea81114ea6bd48b581f19002018680933aa7a12.
|
|
prerolling"
This reverts commit a3b24f0241bd55a005a072ba8ddcd53e0fdbf827.
|
|
|
|
It's only relevant for each group, and by storing it in the group
we have locking and everything else like for the other buffering-related
variables. Locking looks a bit fishy still, but it was like that for a long
time already so shouldn't be worse than before.
|
|
Overview:
There are some of interleaved streams which has long-term location of audio data.
It mean the audio data is located far away more than multiqueue size.
In this case, because of multiqueue overrun, the pipeline is stopped.
To prevent hanging-like state, the decodebin needs to handle the queue size.
Caused:
The multiqueue size is not enough, the pipeline will stay being stalled status
and decodebin cannot complete to build decode chain.
In this issue file, decodebin did not receive no_more_pads signal or audio data yet.
Steps to Reproduce:
play the high-resolution(4K file) files or some streaming media(push mode).
Actual Results:
There is no audio or subtitle.
We can see only video or infinite loading.
Resolution:
Decodebin detect this problem, and add extra buffer size to multiqueue.
The multiqueue is larger than before, the next data can be pushed the downstream element.
Additional Information:
The max-preroll extra buffer size is set 8MB.
We can use total pre-roll buffer 10MB.
Only first overrun callback can handle multiqueue size.
https://bugzilla.gnome.org/show_bug.cgi?id=733235
|
|
Used in DASH among other things, as SMPTE Timed Text.
|
|
We were using the wrong variable ...
CID #1316477
|
|
When an upstream element wants to flush downstream, we need to take
all chains/groups into consideration.
To that effect, when a FLUSH_START event is seen, after having it
sent downstream we mark all those chains/groups as "drained" (as if
they had seen a EOS event on the endpads).
When a FLUSH_STOP event is received, we check if we need to switch groups.
This is done by checking if there are next groups. If so, we will switch
over to the latest next_group. The actual switch will be done when
that group is blocked.
https://bugzilla.gnome.org/show_bug.cgi?id=606382
|
|
When upstream events/queries reach sinkpads of unlinked groups (i.e.
no longer linked to the upstream demuxer), this patch attempts to find
the linked group and forward it upstream of that group.
This is done by adding upstream event/query probes on new group sinkpads
and then:
* Checking if the pad is linked or not (has a peer or not)
* If there is a peer, just let the event/query follow through normally
* If there is no peer, we find a pad to which to proxy it and return
GST_PROBE_HANDLED if it succeeded (allowing the event/query to be properly
returned to the initial called)
Note that this is definitely not thread-safe for the time being
https://bugzilla.gnome.org/show_bug.cgi?id=606382
|
|
When we see prefix NALs before a Subset SPS has been spotted,
it might just be because the stream was truncated at the
start, so don't count those as either 'bad' or 'good' packets.
|
|
Just let the internal element of the bin do it instead of forcing a
caps query to do it.
|
|
If the pixel-aspect-ratio is not fixed, try to get it as close
to 1/1 as possible
https://bugzilla.gnome.org/show_bug.cgi?id=748635
|
|
Since the videorate element just duplicates or drops frames
to achieve the desired framerate, it can accept video/x-bayer media
(in any format), which are not present in the current caps.
Just add "video/x-bayer(ANY);" to the caps of the static pad template
(fixing line style to pass the indent commit hook).
https://bugzilla.gnome.org/show_bug.cgi?id=753483
|
|
deadend_details need not be returned when the pad is not a deadend.
Hence checking if res value is TRUE and clearing the string instead of
passing it on
https://bugzilla.gnome.org/show_bug.cgi?id=753088
|
|
DTS is for encoded data and have no meaning for raw. It better to not
set it, as it's confusing.
https://bugzilla.gnome.org/show_bug.cgi?id=752791
|
|
https://bugzilla.gnome.org//show_bug.cgi?id=752436
|
|
Moved from dashdemux plugin in -bad.
|
|
|
|
Add logging categories for most video objects.
Remove some useless debug lines in video-info and videotestsrc.
Add a performance debug line in the video scaler.
|
|
Add caps property that allows the src to easily negotiate a format.
|
|
When switching to a new chain it might be that this new chain
is not yet ready to be exposed so check it before exposing.
Can happen with mpegts that might delay adding pads or pushing data
until it has found the PMT/PAT/PCR and that may take a while depending
on the stream.
It happened frequently with HLS:
http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/appleman.m3u8
|
|
Hided -> hid
|
|
sink's volume/mute properties
If the sink has properties named volume and mute, we have no idea about their
meaning. The streamvolume interface standardizes the meaning.
In the case of osxaudiosink for example, the current volume property has a
range of 0.0 to 1.0, but we need 0.0 to 10.0 or similar. Also osxaudiosink
has no mute property. As such, the volume element should be used here instead.
https://bugzilla.gnome.org/show_bug.cgi?id=752156
|
|
Helps recognizing fragmented files with the right type
|
|
Have all sections in alphabetical order. Also make the macro order consistent.
This is a preparation for generating the file. Remove GET_CLASS macro for
some elements, since it is not used and the header is not installed.
|
|
Use a local category for the default category and fix the import for the
performance category.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=751690
|
|
This is the default basetransform behaviour, being more strict than that
is not really useful.
|