Age | Commit message (Collapse) | Author | Files | Lines |
|
https://bugzilla.gnome.org/show_bug.cgi?id=747358
|
|
Makes sure the files were properly flushed and closed before
the message reaches the application
|
|
When multifilesink is operating in any mode other than one file
per buffer, the last file created won't have a file message posted
as multifilesink doesn't handle the EOS event.
This patch fixes it by using the last position to post a file
message when EOS is received. This should ensure at least the
time related data and the filename are posted to the application
or other elements
https://bugzilla.gnome.org/show_bug.cgi?id=747000
|
|
For large-file atoms, guard against overflow in the size field,
which could make us jump backward in the file and cause
infinite loops.
|
|
When not in fast-start or fragmented mode, we need to be able
to rewrite the size of the mdat atom, or else the output just
won't be playable - the mdat placeholder with size == 0 will
cover the rest of the file, including any moov atom we write out.
https://bugzilla.gnome.org/show_bug.cgi?id=708808
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726416
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726415
|
|
This makes it possible to mux the result into a container
such as matroska.
https://bugzilla.gnome.org/show_bug.cgi?id=747208
|
|
In case upstream can't handle the seek, make sure we
keep a ref on the event to attempt to handle it ourselves.
|
|
gst_tag_list_add_value() doesn't consume the GValue we pass to it so there is
no point copying it.
https://bugzilla.gnome.org/show_bug.cgi?id=746810
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=744572
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=744572
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=744572
|
|
New tags can be found on different parts of the file, so this patch
keeps the stream taglists around for the life cycle of the pad
and adds those new tags as found. Then a new tag is found, the
pad's is marked with a tags changed flag, making the element push
a new tag event on the next check. Before this, we were sending
only the newly found tags, as the element was losing its taglist
when pushing the event.
|
|
Instead of sending only new tags once they are found, merge the taglist
and send them incrementally.
|
|
Global tags are already being read in matroskaparse, but they are not
currently being sent.
This patch makes global tags get sent incrementally whenever new ones
are found.
https://bugzilla.gnome.org/show_bug.cgi?id=746242
|
|
When planes property is set to 0, the pipeline executes in
an infinite loop and never exits. Since planes must never
be 0, set the minimum value in the property description
to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=743906
|
|
|
|
It is expected that buffers are time-stamped with running time. Set
a segment accordingly. In this case we pick 0,-1 as this is what udpsrc
would do. Depayloaders will update the segment to reflect the playback
position.
https://bugzilla.gnome.org/show_bug.cgi?id=635701
|
|
Code now matches comments.
|
|
This function didn't do anything special, let's not use a function for
that.
|
|
As rtx_retry is part of the substraction, we need to take it into
account, otherwise we may endup with a big value.
|
|
The segment start/stop in the query is meant to represent the seekable
portion of the stream. It does not match the segment start/stop. Instead
export 0 to duration.
|
|
Previously we were setting new caps with the same content for every H264 or
AAC codec_data we found in the stream, spamming everything and causing
renegotiations.
|
|
Instead delay creating the caps until we read the codec_data from the stream,
or fail if we get normal data before the codec_data.
AAC raw caps and H264 avc caps always need codec_data, setting caps on the pad
without them is going to make negotiation fail most of the time. Even if we
later set new caps with the codec_data, that's usually going to be too late.
https://bugzilla.gnome.org/show_bug.cgi?id=746682
|
|
|
|
Make sure that the sync_src pad has caps before the segment event.
Otherwise we might get a segment event before caps from the receive
RTCP pad, and then later when receiving RTCP packets will set caps.
This will results in a sticky event misordering warning
This fixes warnings in the rtpaux unit test but also in the
rtpaux and rtx examples in tests/examples/rtp
https://bugzilla.gnome.org/show_bug.cgi?id=746445
|
|
Before we only started it when either:
- there is no send RTP stream
or
- we received an RTP packet for sending
This could mean that if the send RTP pads are connected but never receive any
RTP data, and the same session is also used for receiving RTP/RTCP, we would
never start the RTCP thread and would never send RTCP for the receiving part
of the session.
This can be reproduced with a pipeline like:
gst-launch-1.0 rtpbin name=rtpbin \
udpsrc port=5000 ! "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264" ! rtpbin.recv_rtp_sink_0 \
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
rtpbin.send_rtcp_src_0 ! fakesink name=rtcp_fakesink silent=false async=false sync=false \
rtpbin.recv_rtp_src_0_2553225531_96 ! decodebin ! xvimagesink \
fakesrc ! valve drop=true ! rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 ! fakesink name=rtp_fakesink silent=false async=false sync=false -v
Before this change the rtcp_fakesink would never send RTCP for the receiving
part of the session (i.e. no receiver reports!), after the change it does.
And before and after this change it would send RTCP for the receiving part of
the session if the sender part was omitted (the last two lines).
|
|
|
|
|
|
Change the command number into strings.
|
|
This can get rather spammy for such a high log level.
Only warn once per stream.
https://bugzilla.gnome.org/show_bug.cgi?id=746274
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=746274
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=746274
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=745192
|
|
* Fix critical when new tags are found after segment event has already
been sent.
* Send global tags before stream tags.
* Split sending of tags out of gst_matroska_demux_send_event() into its
own function.
https://bugzilla.gnome.org/show_bug.cgi?id=745973
|
|
|
|
|
|
g_inet_socket_address_get_address() does not give
us a ref to the address, so don't unref it.
|
|
Previously we advanced the in_data pointer by bps for every channel, and then
later again for block_size*bps. This caused us to be one sample further than
expected if an input buffer covered two analysis frames. And in the end lead
to completely bogus values reported by level.
https://bugzilla.gnome.org/show_bug.cgi?id=746065
|
|
|
|
Make sure the state change won't hang trying to shut down pads
by making sure the streaming has stopped before chaining up.
|
|
CID #1226474
|
|
CID 1212156
|
|
We just need to save the ebit information in case there is an error decoding.
|
|
If gst_pad_push() fails, inform and return flow error.
|
|
Value set in ret will be overwritten just before exiting the function.
CID #1226469
|
|
These are outside the expected range of sequence numbers and should be
clipped, especially for RTSP they might belong to packets from before a seek
or a previous stream in general.
|
|
When the sdp media attribute framesize are converted to caps
the <payload> should not be included.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725335
|
|
streams
|