| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
While the size in the packet is only 16 bits, we need to handle bigger
sizes without overflowing. For video streams this can happen, 0 is
written to the stream instead.
This fixes muxing of buffers >= 2**16.
|
|
|
|
|
|
| |
Based on patches by Milos Seleceni.
https://bugzilla.gnome.org/show_bug.cgi?id=753323
|
|
|
|
|
| |
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
|
|
|
|
|
|
| |
In M2TS mode, we need an extra 4 bytes in the buffer, so need
to ensure the buffer can contain these. The allocation site
does not know the mode, so this is done in all cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
|
|
|
|
|
|
|
| |
This was broken in 09c05df (make "alignment" property more useful for
packetisation).
https://bugzilla.gnome.org/show_bug.cgi?id=765926
|
|
|
|
|
|
| |
'language' is an array and not a pointer.
CID 1358835
|
|
|
|
|
|
|
|
| |
Adds a new function to mpegts lib to create a iso639 language
descriptor from a language and use it in mpegtsmux to add
a language descriptor to audio streams that have a language set.
https://bugzilla.gnome.org/show_bug.cgi?id=763647
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=765005
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=763081
|
|
|
|
|
|
| |
small enough
https://bugzilla.gnome.org/show_bug.cgi?id=748507
|
|
|
|
|
|
|
| |
In case of an unbounded packet (video usually), pes_bytes_written was
no reset.
https://bugzilla.gnome.org/show_bug.cgi?id=748507
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=744367
|
|
|
|
|
|
|
|
| |
The MPEG standard (ISO-13880-1) says the reserve bits need to be set
to one (2.1.64). This is causing transport streams to fail validation
on some systems.
https://bugzilla.gnome.org/show_bug.cgi?id=760127
|
|
|
|
| |
ERROR level is debugging left-over.
|
|
|
|
| |
g_free() is NULL-safe
|
|
|
|
|
|
|
|
| |
buf surely isn't NULL inside the block conditional to a buffer size bigger
than (G_MAXUINT16 - 3). Plus gst_buffer_unref() checks if the buffer is
NULL and does nothing if it is.
CID 1338693
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757152
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757049
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757049
|
|
|
|
|
|
| |
Not when clipping buffers, as that doesn't happen for every buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=757049
|
|
|
|
|
| |
No need to manually handle negative values of best->dts in
GST_DEBUG_OBJECT. Use GST_STIME_ARGS for this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The buffer timestamps in the collect function will already be
running time, don't try to convert them again to running time,
this would yield CLOCK_TIME_NONE now that the segment is shifted
to account for negative dts.
This fixes x264enc ! mpegtsmux ! hlssink, which was broken
because mpegtsmux would send a downstream key unit event with
running time NONE and then hlssink would immediately send
another one upstream and it would just be a flood of force
keyframe events in both directions after the first one. This
would then break hlssink because it uses multifilesink in
next-file=key-unit-event mode, and starting a new file after
every few kB does not work well for HLS.
|
| |
|
|
|
|
|
|
|
|
|
| |
The PID on a pad shouldn't change on a state change, only
if the pad is freed and a new one created. Clearing the PID
prevented mpegtsmux from being reused, because all packets
would end up muxed in PID 0
https://bugzilla.gnome.org/show_bug.cgi?id=752999
|
|
|
|
|
|
|
|
|
| |
Accumulate streamheader packets in reverse into the
GList for efficiency, and reverse the list once when
processing.
Improves muxing speed when there are a lot of
streamheaders.
|
|
|
|
|
|
| |
Raw aac doesn't need framed=true.
Fixes not-negotiated error with voaacenc ! mpegtsmux.
|
|
|
|
| |
streams
|
|
|
|
|
|
| |
This is defined in SMPTE Rp 217. In this case the
metadata PES packets carry no timestamps of their
own and no Metadata Access Unit Wrappers are used.
|
|
|
|
|
|
| |
trivial patch to add proper ( while checking for if(G_UNLIKELY())
https://bugzilla.gnome.org/show_bug.cgi?id=751305
|
|
|
|
|
|
|
| |
After few iteration, this variable became the same as dts. It's not
the min as the name says, but the dts of the current buffer. Simply
remove and place with dts. Also move the debug trace to actually
print the signed version of the running-time dts.
|
|
|
|
|
|
|
|
| |
after e000a6f0a4984fbe81190df6cd439c70dafde3d6, there is build error in bad plugins
this happens because, GST_CLOCK_STIME_IS_VALID () is being checked for pad_data
but it expects a GstClockTime parameter. Changing the check to 'dts'
https://bugzilla.gnome.org/show_bug.cgi?id=750961
|
|
|
|
|
|
|
|
|
|
| |
Use the saved DTS, make it signed and pass that to the stream muxer. This
preserves the running time sign. All usage of -1 as invalid TS are now
replaced with G_MININT64. Negative values will be seen as wrap-around
point, but the delta between PTS and DTS will remain correct. Demuxers
don't care about absolute values, they only cares about deltas.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=740575
|
|
|
|
|
|
|
|
| |
There was code to detect backward dts, but the marker min_dts
was never set. Setting it enable this feature that prevents
potential integer overflow when generating TS.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=746765
|
|
|
|
|
|
|
|
| |
Value of res is reset to FALSE in each iteration of the while loop. We want to
conserve TRUE if any pad event succeeded until we arrive to done.
Also, buf is set to the value of *outbuf twice. Removing the first assignment
since the second one is outside of a conditional.
|
|
|
|
|
|
|
| |
In the same way we do it for the DELTA_UNIT flag
This allows downstream elements to know whether a given mpeg-ts
packet contains a corresponding HEADER elementary unit
|
|
|
|
| |
No need to get it again
|
|
|
|
| |
Property enum items should be named PROP_ for consistency and readability.
|
|
|
|
|
|
| |
g_return_*_if_fail() is for public API to catch
programming errors. For internal code, we should
just use g_assert() to check internal state.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=733347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the alignment property just makes sure that we
output things in multiples of align*packet_size bytes, but
with no clear maximum size. When streaming MPEG-TS over
UDP one wants buffers with a maximum packet size of 1316.
The alignment property so far would just output buffers
that are a multiple of 1316 then.
Instead we now make the alignment property output
individual buffers with the alignment size, which
is entirely backwards compatible with the expected
behaviour up until now. For efficiency reason
collect all those buffers in a buffer list and
send that downstream.
Also collect data to push downstream in a buffer
list from the adapter if we don't align things,
which is still more efficient because of the
silly way the muxer currently creates output
packets.
https://bugzilla.gnome.org/show_bug.cgi?id=722129
|
|
|
|
|
|
| |
Adding a comment makes coverity happy and quells the issue.
CID #1139748
|
|
|
|
|
|
| |
The muxer is already allocated in reset(), which is called soon afterwards.
https://bugzilla.gnome.org/show_bug.cgi?id=745506
|