Commit graph

6877 commits

Author SHA1 Message Date
Bob Holcomb cb520dce26 mpegtsmux: fix reserve bits so they are 1's
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
2016-01-09 16:38:04 +00:00
Sebastian Dröge b6696122a0 mxftypes: Don't store pointers in stack allocated guints
This works usually in this place, unless the compiler optimizes things in
interesting ways in which case it causes stack corruption and crashes later.

The compiler in question here is clang with -O1, which seems to pack the stack
a bit more and causes writing to the guint as pointer to overwrite map.memory,
which then later crashes during unmapping of the memory.
2016-01-07 18:13:08 +02:00
Sebastian Dröge 5a1953b31f mxfmetadata: Initialize boolean to FALSE to fix valgrind warning
Seems to be a false warning though.
2016-01-07 18:13:08 +02:00
Hyunjun Ko 1e5eb72532 sdpdemux: replace duplicated codes to call new base sdp apis
https://bugzilla.gnome.org/show_bug.cgi?id=745880
2015-12-31 17:15:55 +02:00
Tim-Philipp Müller 9a20a7c77b pcapparse: don't crash on 0-sized packets
https://bugzilla.gnome.org/show_bug.cgi?id=756573
2015-12-23 23:14:17 +00:00
Tim-Philipp Müller 384987341b assrender, dvbsuboverlay: fix example pipelines in docs 2015-12-19 21:25:49 +00:00
Vineeth TM 10ed707b60 pnmenc: Fix wrong logic leading to memory mishandling
While encoding the frame in ASCII mode, per component four bytes are needed
and after every 20 bytes, a \n will be added. So the calculation should be
size = size * (4 + 1 / 20). This should exclude the header being written.
Since header is also being included in the calculations, memory mishandlings
are happening.

https://bugzilla.gnome.org/show_bug.cgi?id=759520
2015-12-17 10:26:48 +01:00
Dave Craig 88d7beb921 videoparsers: Check for NULL return value of gst_pad_get_current_caps()
https://bugzilla.gnome.org/show_bug.cgi?id=759503
2015-12-16 10:08:43 +01:00
Vineeth TM 720b9bef05 ivtc: Fix value memory leak
gvalue variable should be unset instead of reset.

https://bugzilla.gnome.org/show_bug.cgi?id=759525
2015-12-16 09:59:39 +01:00
Vineeth TM c5130b1dfe combdetect: Fix value memory leak
gvalue variable should be unset instead of reset.

https://bugzilla.gnome.org/show_bug.cgi?id=759523
2015-12-16 09:58:29 +01:00
Vineeth TM 7c65a5ccd5 pnmdec: Fix scanner memory leak
For corrupted files, scanner memory is being leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=759522
2015-12-16 09:56:33 +01:00
Vineeth TM 319d9efb2d pnmdec: Fix buffer memory leak
In case of corrupted file, s->buf allocated is not being freed

https://bugzilla.gnome.org/show_bug.cgi?id=759522
2015-12-16 09:56:33 +01:00
Vineeth TM 6cb6903f82 pnmenc: Fix string memory leak
header being allocated is not freed resulting in leak

https://bugzilla.gnome.org/show_bug.cgi?id=759520
2015-12-16 09:42:42 +01:00
Vineeth TM 1b2a9a9c84 gdppay: Fix buffer memory leak
outbuffer being allocated is not being pushed to queue for EOS event and hence
should be freed.

https://bugzilla.gnome.org/show_bug.cgi?id=759519
2015-12-16 09:40:39 +01:00
Vineeth TM 50978ccd1a yadif: Fix illegal memory access
When applying the spatial prediction, there is an illegal access of -1 index of array.
Hence adding a condition to avoid this.

https://bugzilla.gnome.org/show_bug.cgi?id=759518
2015-12-16 09:33:25 +01:00
Vineeth TM eb7deb4418 yadif: Fix gvalue memory leak
gvalue variable should be unset instead of reset.

https://bugzilla.gnome.org/show_bug.cgi?id=759518
2015-12-16 09:32:25 +01:00
Luis de Bethencourt ef53eabee3 geometrictransform: add headers with example launch lines
Add description headers for all geometrictransform elements so we can have
gst-launch-1.0 example launch lines for all of them.
2015-12-15 12:01:00 +00:00
Vineeth TM 7c42ba97d7 plugins-bad: Fix example pipelines
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples

https://bugzilla.gnome.org/show_bug.cgi?id=759432
2015-12-15 10:30:49 +00:00
Vivia Nikolaidou dc9cf44697 videoframe-audiolevel: Fix possible division by zero
In update_rms_from_buffer(), division by "frames" wasn't checking whether
"frames" is zero.

CID 1341519.

https://bugzilla.gnome.org/show_bug.cgi?id=759443
2015-12-14 12:54:59 +01:00
Sebastian Dröge 7ae23d13c8 mxfdemux: Only pre-set position for exactly the same essence track
The edit rate is only supposed to be the same in a source package, but there
might be multiple source packages with the same essence container. As such
just comparing the body/index SID is not sufficient.
2015-12-10 12:47:17 +02:00
Sebastian Dröge 39aa2aaa39 mxfdemux: Only pre-set the track position if it's for the same body/index SID 2015-12-10 12:27:04 +02:00
Sebastian Dröge f2eaa68c90 mxfdemux: Only access the index table if it has enough elements 2015-12-09 16:55:00 +02:00
Sebastian Dröge 6e06f8c936 mxfdemux: Use keyframe information from index table segments if available
We don't implement keyframe detection for all codecs and this will allow us to
implement better seeking.
2015-12-09 16:49:30 +02:00
Sebastian Dröge b504672fc4 mxfdemux: Collect all index table segments after finding the random index pack
That way we always have the index table information available, especially the
keyframe-ness of all buffers.
2015-12-09 16:33:39 +02:00
Sebastian Dröge 6d367d6b48 mxfdemux: Fix handling of IndexTableSegments
This was completely broken before and could only work on a very constrained
set of files. After these changes it should work except for situations where
PTS != DTS, which is not handled at all in mxfdemux currently.

https://bugzilla.gnome.org/show_bug.cgi?id=759118
2015-12-09 16:33:39 +02:00
Sebastian Dröge c82d702985 mxftypes: Fix parsing of index table segments 2015-12-08 20:24:59 +02:00
Sebastian Dröge 41e500356f mxfmux: Handle aggregation with NULL buffers without crashing 2015-12-08 18:23:02 +02:00
Sebastian Dröge a02708f924 mxfmux: Add FIXME about enforcing that all tracks in a source package have the same edit rate
The standard requires this and also the index table segments are not going to
work otherwise.
2015-12-08 16:45:33 +02:00
Sebastian Dröge df7209a1c5 mxfmux: Write index table segments
But only for the first essence track, and once for every keyframe every 2
seconds.
2015-12-08 13:50:44 +02:00
Sebastian Dröge 1addfcc0b2 mxfmetadata: Fix static local tag for index sid 2015-12-08 10:14:41 +02:00
Sebastian Dröge 47da7565ce mxftypes: Add function to serialize an index table segment to a buffer 2015-12-08 10:14:41 +02:00
Sebastian Dröge 01f0d16db3 mxfmux: Index table segments must not use the primer pack
According to S377-1-2009c 9.2 the local tags must not be resolved from the
primer pack, which as a result means that there can't be any other tags than
statically assigned ones.
2015-12-08 10:14:41 +02:00
Edward Hervey fe45de837c mxfmux: Remove more dead code
Coverity CID #1328818
2015-12-07 13:49:49 +01:00
Nicolas Dufresne fe116092cd h26xparse: Resend PPS/SPS after seek
This is to support byte-stream decoder that does not remember the
PPS/SPS after a flush. This is not needed by all decoders, but is
harmless for those that do remember.

https://bugzilla.gnome.org/show_bug.cgi?id=758405
2015-12-05 19:05:26 -05:00
Sebastian Dröge 2ab188bf29 mxfmux: Don't copy input buffers, just append them to the header 2015-12-04 18:06:30 +02:00
Edward Hervey a21c2618c5 tsdemux: Expose DVB Subpicture as subpictures
For some reason we were considering them as private data.
2015-12-02 14:15:04 +01:00
Edward Hervey 531117b7df tsdemux: Push GAP events *after* deactivating old programs
The order in which program switch must happen is:
1) drain all data on old pads (but don't push EOS)
2) add new pads (but don't push any data on them)
3) Push EOS and remove old pads
4) Start pushing data on new pads

There was one caveat in this implementation, which is that when
we activate a sparse pad (step 2) we would push a GAP event. The problem
is that, while being an event, it is actually *data*.

We therefore need to make sure pushing those GAP event is done at the step
we start pushing data.

https://bugzilla.gnome.org/show_bug.cgi?id=750402
2015-12-02 14:15:04 +01:00
Edward Hervey 7336294635 tsdemux: Make sure old streams are drained before switching
Before we add any streams, make sure we drain all streams. This ensures
there's consistency that only "new" data will be pushed on buffers once
the new pads are added

https://bugzilla.gnome.org/show_bug.cgi?id=750402
2015-12-02 14:15:04 +01:00
Edward Hervey 14e6d2d427 mpegtsdemux: Allow deactivation of programs to be delayed
When changing programs, the order of events needs to be the following:
* add pads from new program
* send EOS on old pads
* remove old pads
* emit 'no-more-pads'

Previously tsdemux was not doing that, and was first deactivating and
removing old pads before adding new ones.

We fix this by allowing subclasses of mpegtsbase to be able to handle
themselves the deactivation of programs. In this case tsdemux will
properly deactivate it once it has activated the new program.

https://bugzilla.gnome.org/show_bug.cgi?id=750402
2015-12-02 14:15:04 +01:00
Sebastian Dröge 92d926d733 videoframe-audiolevel: Fix compilation of static plugin and some compiler warnings
Use G_GSIZE_FORMAT for gsize instead of %ld and make sure that the plugin name
is a valid C identifier, i.e. contains no spaces or dashes.
2015-12-02 14:36:42 +02:00
Vivia Nikolaidou 978bcd7181 alevel: New audio/video level element
The videoframe-audiolevel element acts like a synchronized audio/video "level"
element. For each video frame, it posts a level-style message containing the
RMS value of the corresponding audio frames. This element needs both video and
audio to pass through it. Furthermore, it needs a queue after its video
source.

https://bugzilla.gnome.org/show_bug.cgi?id=748259
2015-12-02 12:52:57 +02:00
Paolo Pettinato ce67e8934d pcapparse: Forward FLUSH_STOP events downstream too
https://bugzilla.gnome.org/show_bug.cgi?id=758913
2015-12-01 20:03:29 +02:00
Tim-Philipp Müller b79cfc68cb tsmux: fix wrong log message level
ERROR level is debugging left-over.
2015-12-01 17:07:44 +00:00
Ravi Kiran K N 6b643fdff6 id3mux: write private data tag
Handle "PRIV" tag in id3mux. Write owner
identifier and private data and add to the
id3v2 frame.

https://bugzilla.gnome.org/show_bug.cgi?id=758728
2015-11-27 12:16:57 +00:00
Vineeth T M b328fbe31a spu-pgs: Fix array memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=758517
2015-11-24 15:23:00 +00:00
Tim-Philipp Müller 01f23d88f3 audiomixer: register function name for debugging just once
Not every time aggregate is called...
2015-11-24 15:17:30 +00:00
Sebastian Dröge 8541424d34 mxfmux: Error out if we get a timeout during live mixing
We can't handle that but need complete streams without gaps.
2015-11-21 01:56:46 +05:30
Sebastian Dröge 73beb1834e mxfmpeg: Use the correct sound essence compression UL for MP3
There's one for MPEG 1 Layer 1 and one for Layer 2 and 3. We previously
had the second for Layer 1 and 2 and nothing for Layer 3, which was wrong.
2015-11-21 01:56:46 +05:30
Sebastian Dröge adb01a23da mxfmpeg: Set the essence container UL byte 13 to 0x10 for h264
0x04 signifies a MPEG elementary stream but according to RP2008, 0x10 should
be used for a h264 byte-stream. This also fixes compatibility of our files
with ffmpeg.
2015-11-21 01:56:46 +05:30
Luis de Bethencourt 49ccb72b47 docs: update gst-launch-0.10 lines
Update references to gst-launch-0.10 to gst-launch-1.0
2015-11-19 17:25:01 +00:00