platform/upstream/gstreamer.git
10 years agod3dvideosink: Always lock the D3D surfaces in write mode
Sebastian Dröge [Thu, 3 Jul 2014 17:10:26 +0000 (19:10 +0200)]
d3dvideosink: Always lock the D3D surfaces in write mode

Locking them in readonly mode can give different stride to mapping
in write mode, which then causes rendering to be broken.

Happened on all (many?) NVIDIA GPUs.

Thanks to voskater15@gmail.com for hinting at the problem.

https://bugzilla.gnome.org/show_bug.cgi?id=712809

10 years agod3dhelpers: Swap UV planes properly for YV12 as compared to I420
Sebastian Dröge [Thu, 3 Jul 2014 17:05:22 +0000 (19:05 +0200)]
d3dhelpers: Swap UV planes properly for YV12 as compared to I420

If we only do it in one place colors will look funny.

10 years agoamc: Properly integrate COLOR_QCOM_FormatYVU420SemiPlanar32m again
Sebastian Dröge [Thu, 3 Jul 2014 15:53:33 +0000 (17:53 +0200)]
amc: Properly integrate COLOR_QCOM_FormatYVU420SemiPlanar32m again

https://bugzilla.gnome.org/show_bug.cgi?id=732683

10 years agoamcaudiodec: audio/mpeg is always MPEG 1 layer 3
Sebastian Dröge [Thu, 3 Jul 2014 13:07:23 +0000 (15:07 +0200)]
amcaudiodec: audio/mpeg is always MPEG 1 layer 3

Configuring e.g. layer 2 on such a decoder usually fails unless
it additionally also accepts audio/mpeg-L2.

10 years agompegtspacketizer: Don't dereference NULL if we have no PCR yet
Sebastian Dröge [Thu, 3 Jul 2014 12:15:36 +0000 (14:15 +0200)]
mpegtspacketizer: Don't dereference NULL if we have no PCR yet

Can happen sometimes if the duration is requested before we
received enough data with a PCR.

10 years agotsdemux: Add locking around mpegtspacketiser groups.
Jan Schmidt [Thu, 3 Jul 2014 11:39:19 +0000 (21:39 +1000)]
tsdemux: Add locking around mpegtspacketiser groups.

Otherwise occasionally DURATION queries can crash, if they happen at
the wrong moment.

10 years agoglcocoa: initalize NSApp asap when using gst-launch
Julien Isorce [Thu, 3 Jul 2014 08:00:32 +0000 (09:00 +0100)]
glcocoa: initalize NSApp asap when using gst-launch

See https://bugzilla.gnome.org/show_bug.cgi?id=732661

10 years agoapplemedia: enable vtdec and vtenc only on >= 10.8 where VideoToolbox is public
Alessandro Decina [Wed, 2 Jul 2014 10:54:45 +0000 (12:54 +0200)]
applemedia: enable vtdec and vtenc only on >= 10.8 where VideoToolbox is public

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=723670

10 years agovtdec: avoid segfault when output isn't configured
Thiago Santos [Wed, 2 Jul 2014 07:54:29 +0000 (04:54 -0300)]
vtdec: avoid segfault when output isn't configured

This can help when the callback is called during/after videodecoder
base class shut down

https://bugzilla.gnome.org/show_bug.cgi?id=728435

10 years agovtdec: ignore the dropped flag if buffer was received
Thiago Santos [Wed, 2 Jul 2014 03:27:12 +0000 (00:27 -0300)]
vtdec: ignore the dropped flag if buffer was received

Apparently there is some issue with VT that makes it mark the dropped
flag even though the buffer was decoded.

https://bugzilla.gnome.org/show_bug.cgi?id=728435

10 years agod3dvideosink: Don't leak all surfaces
Sebastian Dröge [Wed, 2 Jul 2014 08:31:49 +0000 (10:31 +0200)]
d3dvideosink: Don't leak all surfaces

This was broken when disabling the buffer pool exporting.

Also disable buffer pool a bit more efficient...

10 years agod3dvideosink: PostMessage() takes integers as last parameters, not pointers
Sebastian Dröge [Wed, 2 Jul 2014 08:01:34 +0000 (10:01 +0200)]
d3dvideosink: PostMessage() takes integers as last parameters, not pointers

10 years agod3dvideosink: Remove unused variable
Sebastian Dröge [Wed, 2 Jul 2014 07:59:02 +0000 (09:59 +0200)]
d3dvideosink: Remove unused variable

10 years agogl/examples: gitignore generated files
Matthew Waters [Wed, 2 Jul 2014 07:38:13 +0000 (17:38 +1000)]
gl/examples: gitignore generated files

10 years agogl : fix qglwtextureshare demo
Wang Xin-yu (王昕宇) [Tue, 1 Jul 2014 00:36:53 +0000 (08:36 +0800)]
gl : fix qglwtextureshare demo

10 years agowatchdog: Only create a new GSource if we have a main context
Göran Jönsson [Mon, 23 Jun 2014 09:53:11 +0000 (11:53 +0200)]
watchdog: Only create a new GSource if we have a main context

We can still get OOB events while stopping the watchdog element, and while
stopping it we destroy the main context.

Also let the GSource own a reference to the element for additional safety.

https://bugzilla.gnome.org/show_bug.cgi?id=732554

10 years agovideoaggregator: reset QoS on segment event
Vincent Penquerc'h [Tue, 1 Jul 2014 11:52:39 +0000 (12:52 +0100)]
videoaggregator: reset QoS on segment event

https://bugzilla.gnome.org/show_bug.cgi?id=732540

10 years agotests: h264parser: add test to identify EOSEQ / EOS NALs.
Gwenole Beauchesne [Tue, 1 Jul 2014 14:54:00 +0000 (16:54 +0200)]
tests: h264parser: add test to identify EOSEQ / EOS NALs.

Check that end_of_seq() [EOSEQ] and end_of_stream [EOS] NAL units
are correctly parsed and the reported NAL unit size yields 1 byte,
i.e. the only NalHeaderBytes in there.

https://bugzilla.gnome.org/show_bug.cgi?id=732553

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agotests: h264parse: add test for byte-stream/au output.
Gwenole Beauchesne [Wed, 25 Jun 2014 15:19:00 +0000 (17:19 +0200)]
tests: h264parse: add test for byte-stream/au output.

Check that conversion to byte-stream/au formats work and that we
can effectively drop broken/invalid NAL units from the resulting
access unit buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=732203

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agotests: h264parse: check SEI buffering_period() message is output.
Gwenole Beauchesne [Wed, 25 Jun 2014 16:47:55 +0000 (18:47 +0200)]
tests: h264parse: check SEI buffering_period() message is output.

If an SEI NAL unit with a buffering_period() message is inserted
between an SPS and PPS NAL unit, check that the output buffer still
contain it. i.e. make sure that this SEI message is not dropped.

https://bugzilla.gnome.org/show_bug.cgi?id=732156

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoh264parse: fix collection of access units to preserve config headers.
Gwenole Beauchesne [Thu, 26 Jun 2014 07:44:26 +0000 (09:44 +0200)]
h264parse: fix collection of access units to preserve config headers.

Always use a GstAdapter when collecting access units (alignment="au")
in either byte-stream or avcC format. This is required to properly
preserve config headers like SPS and PPS when invalid or broken NAL
units are subsequently parsed.

More precisely, this fixes scenario like:
<SPS> <PPS> <invalid-NAL> <slice>

where we used to reset the output frame buffer when an invalid or
broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
preventing the next slice unit to be decoded, should this also
represent any valid data.

https://bugzilla.gnome.org/show_bug.cgi?id=732203

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoh264parse: improve conditions for skipping NAL units.
Gwenole Beauchesne [Wed, 25 Jun 2014 11:14:10 +0000 (13:14 +0200)]
h264parse: improve conditions for skipping NAL units.

Carefully track cases when skipping broken or invalid NAL units is
necessary. In particular, always allow NAL units to be processed
and let that gst_h264_parse_process_nal() function decide on whether
the current NAL needs to be dropped or not.

This fixes parsing of streams with SEI NAL buffering_period() message
inserted between SPS and PPS, or SPS-Ext NAL following a traditional
SPS NAL unit, among other cases too.

Practical examples from the H.264 AVC conformance suite include
alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
when parsing in stream-format=byte-stream,alignment=au mode.

https://bugzilla.gnome.org/show_bug.cgi?id=732203

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoh264parse: introduce new state tracking variables.
Gwenole Beauchesne [Wed, 25 Jun 2014 09:06:41 +0000 (11:06 +0200)]
h264parse: introduce new state tracking variables.

Improve parser state tracking by introducing new flags reflecting
it: "got-sps", "got-pps" and "got-slice". This is an addition for
robustness purposes.

Older have_sps and have_pps variables are kept because they have
a different meaning. i.e. they are used for deciding on when to
submit updated caps or not, and rather mean "have new SPS/PPS to
be submitted?"

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoh264parse: fix and optimize NAL collection function.
Gwenole Beauchesne [Tue, 24 Jun 2014 11:55:13 +0000 (13:55 +0200)]
h264parse: fix and optimize NAL collection function.

Use gst_h264_parser_identify_nalu_unchecked() to identify the next
NAL unit. We don't want to parse the full NAL unit, but only the
header bytes and possibly the first RBSP byte for identifying the
first_mb_in_slice syntax element.

Also fix check for failure when returning from that function. The
only success condition for that is GST_H264_PARSER_OK, so use it.

https://bugzilla.gnome.org/show_bug.cgi?id=732154

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agocodecparsers: h264: clarifications and documentation fixes.
Gwenole Beauchesne [Tue, 1 Jul 2014 14:09:28 +0000 (16:09 +0200)]
codecparsers: h264: clarifications and documentation fixes.

Fix documentation for GstH264NalUnit. The @ref_idc part was totally
unbalanced. Also add a note about @offset and @size fields to remind
that this is relative to the start of the NAL unit, thus including
the header bytes.

10 years agocodecparsers: h264: fix identification of EOSEQ and EOS NALs.
Gwenole Beauchesne [Tue, 1 Jul 2014 13:46:17 +0000 (15:46 +0200)]
codecparsers: h264: fix identification of EOSEQ and EOS NALs.

An end_of_seq() [EOSEQ] or end_of_stream() [EOS] NAL unit is really
one byte long because this shall include the NalHeaderBytes (1) too.
The NALU.offset starts from the first byte of the header.

This is the proper fix to commit d37f842. In practice, this fixes
parsing of FRExt1_Panasonic_D and FRExt2_Panasonic_C, that include
additional frames after an EOSEQ.

https://bugzilla.gnome.org/show_bug.cgi?id=732553

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agortmpsrc: Report limited bandwidth
Jan Alexander Steffens (heftig) [Fri, 27 Jun 2014 10:24:49 +0000 (12:24 +0200)]
rtmpsrc: Report limited bandwidth

Makes uridecodebin treat this source as a stream source,
allowing timeshifting.

https://bugzilla.gnome.org/show_bug.cgi?id=732335

10 years agompegts: Expose GstMpegtsDescriptor free function
Edward Hervey [Tue, 1 Jul 2014 08:03:05 +0000 (10:03 +0200)]
mpegts: Expose GstMpegtsDescriptor free function

Nothing earth shattering, but avoids people having to use g_boxed_free()

10 years agoeagl: Disable usage of R and RG textures on iOS
Sebastian Dröge [Mon, 30 Jun 2014 17:15:01 +0000 (19:15 +0200)]
eagl: Disable usage of R and RG textures on iOS

They don't work currently and just render zeroes, while the
fallback code path with LUM and LUM_ALPHA textures still works.

https://bugzilla.gnome.org/show_bug.cgi?id=732390

10 years agofaceblur: release the haar cascade
Thiago Santos [Mon, 30 Jun 2014 14:54:41 +0000 (11:54 -0300)]
faceblur: release the haar cascade

10 years agoaggregator: Avoid destroying sources we do not own
Thibault Saunier [Mon, 30 Jun 2014 10:22:07 +0000 (12:22 +0200)]
aggregator: Avoid destroying sources we do not own

+ Unref the maincontext in a new dispose function
+ Make sure to remove all sources on dispose

https://bugzilla.gnome.org/show_bug.cgi?id=732445

10 years agovtenc: fix memory leak
Matthieu Bouron [Mon, 16 Jun 2014 10:35:13 +0000 (12:35 +0200)]
vtenc: fix memory leak

The pixel buffer release callback is called if the void *
dataPtr given to the CVPixelBufferCreateWithPlanarBytes
is not NULL.

According to the documentation dataPtr is supposed to be a
"plane description block" but no specific type is given.

https://bugzilla.gnome.org/show_bug.cgi?id=711847

10 years agosegmentation: Release memory storage in finalize
Sebastian Dröge [Sun, 29 Jun 2014 22:22:22 +0000 (00:22 +0200)]
segmentation: Release memory storage in finalize

10 years agotextoverlay: Release memory storage and resize image when caps change
Sebastian Dröge [Sun, 29 Jun 2014 22:18:20 +0000 (00:18 +0200)]
textoverlay: Release memory storage and resize image when caps change

10 years agotemplatematch: Release cvImages when reloading templates are changing caps
Sebastian Dröge [Sun, 29 Jun 2014 22:15:38 +0000 (00:15 +0200)]
templatematch: Release cvImages when reloading templates are changing caps

10 years agopyramidsegment: Release image when changing caps or reusing the element
Sebastian Dröge [Sun, 29 Jun 2014 22:12:26 +0000 (00:12 +0200)]
pyramidsegment: Release image when changing caps or reusing the element

10 years agohanddetect: Release memory storage
Sebastian Dröge [Sun, 29 Jun 2014 22:09:28 +0000 (00:09 +0200)]
handdetect: Release memory storage

10 years agofaceblur: Release memory storage
Sebastian Dröge [Sun, 29 Jun 2014 22:07:22 +0000 (00:07 +0200)]
faceblur: Release memory storage

And also release cvImages and memory storage when changing caps or reusing the
element.

10 years agoedgedetect: Don't leak cvImages when caps are changing or the element is reused
Sebastian Dröge [Sun, 29 Jun 2014 22:05:53 +0000 (00:05 +0200)]
edgedetect: Don't leak cvImages when caps are changing or the element is reused

10 years agopyramidsegment: Release memory storage when finalizing
Sebastian Dröge [Sun, 29 Jun 2014 21:42:52 +0000 (23:42 +0200)]
pyramidsegment: Release memory storage when finalizing

10 years agoschroenc: Remove obsolete FIXME comment
Sebastian Dröge [Sun, 29 Jun 2014 21:33:20 +0000 (23:33 +0200)]
schroenc: Remove obsolete FIXME comment

10 years agoschroenc: Don't leak all input buffers
Sebastian Dröge [Sun, 29 Jun 2014 21:31:50 +0000 (23:31 +0200)]
schroenc: Don't leak all input buffers

10 years agoh264parse: Fix memory leak in unit test
Sebastian Dröge [Sun, 29 Jun 2014 21:22:13 +0000 (23:22 +0200)]
h264parse: Fix memory leak in unit test

10 years agotextoverlay: Free text buffer in finalize
Sebastian Dröge [Sun, 29 Jun 2014 20:30:56 +0000 (22:30 +0200)]
textoverlay: Free text buffer in finalize

10 years agoglimagesink: Chain up to the parent class' finalize function
Sebastian Dröge [Sun, 29 Jun 2014 20:26:47 +0000 (22:26 +0200)]
glimagesink: Chain up to the parent class' finalize function

10 years agoglimagesink: Make sure to always unref the display
Sebastian Dröge [Sun, 29 Jun 2014 20:25:43 +0000 (22:25 +0200)]
glimagesink: Make sure to always unref the display

Even if we didn't create a context yet.

10 years agointersubsrc: basesrc is already creating a pad for us, no need to do it twice
Sebastian Dröge [Sun, 29 Jun 2014 20:20:51 +0000 (22:20 +0200)]
intersubsrc: basesrc is already creating a pad for us, no need to do it twice

10 years agoyadif: basetransform is creating pads for us already, don't do it twice
Sebastian Dröge [Sun, 29 Jun 2014 20:18:41 +0000 (22:18 +0200)]
yadif: basetransform is creating pads for us already, don't do it twice

10 years agoglupload: Fix memory leak in unit test
Sebastian Dröge [Sun, 29 Jun 2014 19:57:32 +0000 (21:57 +0200)]
glupload: Fix memory leak in unit test

10 years agoglcontext: Fix memory leaks in unit test
Sebastian Dröge [Sun, 29 Jun 2014 19:53:21 +0000 (21:53 +0200)]
glcontext: Fix memory leaks in unit test

10 years agompegts: Fix memory leaks in the test and the library
Sebastian Dröge [Sun, 29 Jun 2014 19:34:50 +0000 (21:34 +0200)]
mpegts: Fix memory leaks in the test and the library

Currently uses g_boxed_free() in the unit test, this needs to
be fixed properly when cleaning up the API.

https://bugzilla.gnome.org/show_bug.cgi?id=730914

10 years agoassrender: Make static caps actually static
Sebastian Dröge [Sun, 29 Jun 2014 19:05:27 +0000 (21:05 +0200)]
assrender: Make static caps actually static

Otherwise we leak once caps instance on every function call.

10 years agouvch264src: Free property strings when disposing the instance
Sebastian Dröge [Sun, 29 Jun 2014 19:01:39 +0000 (21:01 +0200)]
uvch264src: Free property strings when disposing the instance

10 years agointersubsink/src: Free channel string when finalizing the instance
Sebastian Dröge [Sun, 29 Jun 2014 18:58:40 +0000 (20:58 +0200)]
intersubsink/src: Free channel string when finalizing the instance

10 years agouvch264src: Fix compiler warning when compiling with G_DISABLE_ASSERT
Sebastian Dröge [Sun, 29 Jun 2014 18:13:10 +0000 (20:13 +0200)]
uvch264src: Fix compiler warning when compiling with G_DISABLE_ASSERT

10 years agovc1parse: Fix compiler warnings when compiling with G_DISABLE_ASSERT
Sebastian Dröge [Sun, 29 Jun 2014 18:11:58 +0000 (20:11 +0200)]
vc1parse: Fix compiler warnings when compiling with G_DISABLE_ASSERT

10 years agokate: Use G_GSIZE_FORMAT instead of unportable %zu
Sebastian Dröge [Sat, 28 Jun 2014 21:26:23 +0000 (23:26 +0200)]
kate: Use G_GSIZE_FORMAT instead of unportable %zu

10 years agobadvideo: Update dist generated ORC files
Sebastian Dröge [Sat, 28 Jun 2014 15:02:24 +0000 (17:02 +0200)]
badvideo: Update dist generated ORC files

10 years agobadvideo: Rename videoconvert functions to prevent conflicts with static linking
Sebastian Dröge [Sat, 28 Jun 2014 15:01:52 +0000 (17:01 +0200)]
badvideo: Rename videoconvert functions to prevent conflicts with static linking

https://bugzilla.gnome.org/show_bug.cgi?id=728443

10 years agotests: aggregator: fix various leaks in the tests
Thiago Santos [Sat, 28 Jun 2014 14:20:43 +0000 (11:20 -0300)]
tests: aggregator: fix various leaks in the tests

10 years agocompositor: tests: Fix pad leak
Thiago Santos [Sat, 28 Jun 2014 12:43:48 +0000 (09:43 -0300)]
compositor: tests: Fix pad leak

Remember to unref requested pad

10 years agodataurisrc: fix leak as gst_buffer_replace adds its own ref
Thiago Santos [Sat, 28 Jun 2014 12:35:21 +0000 (09:35 -0300)]
dataurisrc: fix leak as gst_buffer_replace adds its own ref

So unref the buffer after that otherwise it leaks

10 years agoaggregator: always store or unref the buffer on the _chain function
Thiago Santos [Sat, 28 Jun 2014 12:34:05 +0000 (09:34 -0300)]
aggregator: always store or unref the buffer on the _chain function

Otherwise it leaks, and it is very common to go to flushing when the
pipeline is stopping, leaking a buffer.

10 years agoaggregator: always unref the buffer on _finish function
Thiago Santos [Sat, 28 Jun 2014 12:32:32 +0000 (09:32 -0300)]
aggregator: always unref the buffer on _finish function

Otherwise the user doesn't know if it was unref'd or not

10 years agoaggregator: add dispose/finalize functions
Thiago Santos [Sat, 28 Jun 2014 12:31:55 +0000 (09:31 -0300)]
aggregator: add dispose/finalize functions

Add functions to be able to cleanup the mutex/cond and pending buffers
on the aggregator and on its pad

10 years agoRelease 1.3.90
Sebastian Dröge [Sat, 28 Jun 2014 09:30:39 +0000 (11:30 +0200)]
Release 1.3.90

10 years agoUpdate .po files
Sebastian Dröge [Sat, 28 Jun 2014 09:27:15 +0000 (11:27 +0200)]
Update .po files

10 years agointeraudiosrc: Fail in set_caps() if the caps can't be parsed
Sebastian Dröge [Sat, 28 Jun 2014 08:43:43 +0000 (10:43 +0200)]
interaudiosrc: Fail in set_caps() if the caps can't be parsed

10 years agotests: camerabin: fix caps leak in test
Thiago Santos [Fri, 27 Jun 2014 20:35:32 +0000 (17:35 -0300)]
tests: camerabin: fix caps leak in test

The gst_query_set_caps_result doesn't take ownership of caps

10 years agoaudiovisualizer: fix caps leaks
Thiago Santos [Fri, 27 Jun 2014 20:27:25 +0000 (17:27 -0300)]
audiovisualizer: fix caps leaks

Fix leak of caps event and of caps objects when setting caps on
sink and src pads

10 years agokate: unref events when freeing events list
Thiago Santos [Fri, 27 Jun 2014 20:00:03 +0000 (17:00 -0300)]
kate: unref events when freeing events list

Instead of just feeing the queue structs

10 years agokateenc: fix segment event leak
Thiago Santos [Fri, 27 Jun 2014 19:58:47 +0000 (16:58 -0300)]
kateenc: fix segment event leak

gst_event_replace increments the refcount

10 years agompegts: atsc: avoid calling g_convert with 0-sized input
Thiago Santos [Fri, 27 Jun 2014 15:50:02 +0000 (12:50 -0300)]
mpegts: atsc: avoid calling g_convert with 0-sized input

Avoids an assertion. The cached string will be assigned an empty string
as its value when size is 0.

10 years agocodecparsers: h264: fix memory leak in GstH264PPS.
Gwenole Beauchesne [Fri, 27 Jun 2014 08:53:20 +0000 (10:53 +0200)]
codecparsers: h264: fix memory leak in GstH264PPS.

The gst_h264_parse_pps() function dynamically allocates the slice
group ids map array, so that needs to be cleared before parsing a
new PPS NAL unit again, or when it is no longer needed.

Likewise, a clean copy to the internal NAL parser state needs to be
performed so that to avoid a double-free corruption.

https://bugzilla.gnome.org/show_bug.cgi?id=707282

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agocodecparsers: h264: fix typo in GstH264VUIParams description.
Gwenole Beauchesne [Thu, 26 Jun 2014 15:18:47 +0000 (17:18 +0200)]
codecparsers: h264: fix typo in GstH264VUIParams description.

10 years agocodecparsers: h264: add support for Recovery Point SEI message.
Aurélien Zanelli [Fri, 31 Jan 2014 16:07:42 +0000 (17:07 +0100)]
codecparsers: h264: add support for Recovery Point SEI message.

The recovery point SEI message helps a decoder in determining if the
decoding process would produce acceptable pictures for display after
the decoder initiates random access or after the encoder indicates
a broken link in the coded video sequence.

This is not used in the h264parse element, but it could help debugging.

https://bugzilla.gnome.org/show_bug.cgi?id=723380

10 years agocodecparsers: h264: add nal_reader_skip_long() helper.
Gwenole Beauchesne [Tue, 25 Mar 2014 11:01:55 +0000 (12:01 +0100)]
codecparsers: h264: add nal_reader_skip_long() helper.

Add nal_reader_skip_long() helper function to allow an arbitrary number
of bits to be skipped. The former nal_reader_skip() function is too
limited to the actual cache size.

Use this new function to simplify gst_h264_parser_parse_sei_message()
default case, that skips unsupported payloads.

v2: made args consistent from header to source file.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agovideoaggregator: fix a refcount error when keeping the buffer
Matthew Waters [Thu, 26 Jun 2014 14:09:08 +0000 (00:09 +1000)]
videoaggregator: fix a refcount error when keeping the buffer

We take a ref on the pad's buffer at the beginning so we need to
unref when we are done in all cases.

10 years agocodecparsers: vp8: move up built-in range decoder private data.
Gwenole Beauchesne [Thu, 26 Jun 2014 13:59:35 +0000 (15:59 +0200)]
codecparsers: vp8: move up built-in range decoder private data.

Use the first _gst_reserved[] slot to hold the built-in range decoder
private data. The first slot was formerly the buffer size, which was
then promoted to semi-public namespace when it got integrated as git
commit 2940ac6.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoglcolorconvert: free pixel swizzling information
Matthew Waters [Thu, 26 Jun 2014 01:25:37 +0000 (11:25 +1000)]
glcolorconvert: free pixel swizzling information

10 years agoglmixer: remove redundant/unused lock
Matthew Waters [Thu, 26 Jun 2014 01:15:56 +0000 (11:15 +1000)]
glmixer: remove redundant/unused lock

Use the GstObject lock instead

10 years agoglmixer: remove redundant creation and free of GPtrArrays
Matthew Waters [Thu, 26 Jun 2014 01:12:49 +0000 (11:12 +1000)]
glmixer: remove redundant creation and free of GPtrArrays

Also plugs a memory leak

10 years agoglmixer: plug a memory leak for the caps
Matthew Waters [Thu, 26 Jun 2014 00:54:38 +0000 (10:54 +1000)]
glmixer: plug a memory leak for the caps

gst_query_set_caps_result() takes a ref on the caps

10 years agoaggregator: plug a memory leak of the srccaps
Matthew Waters [Thu, 26 Jun 2014 00:53:16 +0000 (10:53 +1000)]
aggregator: plug a memory leak of the srccaps

10 years agoglmixer: intersect with the filtercaps if available
Matthew Waters [Thu, 26 Jun 2014 00:31:02 +0000 (10:31 +1000)]
glmixer: intersect with the filtercaps if available

10 years agogl: update gles2 compatability header
Matthew Waters [Thu, 26 Jun 2014 00:30:41 +0000 (10:30 +1000)]
gl: update gles2 compatability header

10 years agompegts: Unify API : GstMpegts / gst_mpegts_ / GST_*_MPEGTS_
Edward Hervey [Wed, 25 Jun 2014 12:50:05 +0000 (14:50 +0200)]
mpegts: Unify API : GstMpegts / gst_mpegts_ / GST_*_MPEGTS_

It was previously a mix and match of both variants, introducing just too much
confusion.

The prefix are from now on:
* GstMpegts for structures and type names (and not GstMpegTs)
* gst_mpegts_ for functions (and not gst_mpeg_ts_)
* GST_MPEGTS_ for enums/flags (and not GST_MPEG_TS_)
* GST_TYPE_MPEGTS_ for types (and not GST_TYPE_MPEG_TS_)

The rationale for chosing that is:
* the namespace is shorter/direct (it's mpegts, not mpeg_ts nor mpeg-ts)
* the namespace is one word under Gst
* it's shorter (yah)

10 years agompegtssection: Free data in error cases
Edward Hervey [Wed, 25 Jun 2014 12:13:55 +0000 (14:13 +0200)]
mpegtssection: Free data in error cases

Data is marked as "transfer full", if we have an error we need to
free it.

10 years agoglfilter: pass through the allocation query when in passthrough mode
Matthew Waters [Wed, 25 Jun 2014 12:05:37 +0000 (22:05 +1000)]
glfilter: pass through the allocation query when in passthrough mode

Otherwise two GL elements on either side will fail to use the same
GL context.

10 years agoglfilter: prefer passthrough for non-sysmem caps
Matthew Waters [Wed, 25 Jun 2014 11:50:40 +0000 (21:50 +1000)]
glfilter: prefer passthrough for non-sysmem caps

10 years agoglshader: enable glshader on GLES2
Matthew Waters [Wed, 25 Jun 2014 08:23:52 +0000 (18:23 +1000)]
glshader: enable glshader on GLES2

10 years agoglcolorscale: do passthrough on same caps
Julien Isorce [Tue, 24 Jun 2014 18:37:17 +0000 (19:37 +0100)]
glcolorscale: do passthrough on same caps

See https://bugzilla.gnome.org/show_bug.cgi?id=732178

10 years agoglfilter: handle NULL decide_query which means passthrough
Julien Isorce [Tue, 24 Jun 2014 18:35:01 +0000 (19:35 +0100)]
glfilter: handle NULL decide_query which means passthrough

See https://bugzilla.gnome.org/show_bug.cgi?id=732178

10 years agoglfilter: prepend intersection to src caps
Julien Isorce [Tue, 24 Jun 2014 18:23:01 +0000 (19:23 +0100)]
glfilter: prepend intersection to src caps

Prefer to stay in the same memory space if possible.
Also it let a chance to do passthrough.

See https://bugzilla.gnome.org/show_bug.cgi?id=732178

10 years agogl: enable glvideomixer on GLES2
Julien Isorce [Sun, 22 Jun 2014 12:14:27 +0000 (13:14 +0100)]
gl: enable glvideomixer on GLES2

10 years agodvbsrc: add copyright/license stub to header
Reynaldo H. Verdejo Pinochet [Wed, 25 Jun 2014 02:15:53 +0000 (22:15 -0400)]
dvbsrc: add copyright/license stub to header

10 years agodvbsrc: documentation fixes
Reynaldo H. Verdejo Pinochet [Wed, 25 Jun 2014 00:52:54 +0000 (20:52 -0400)]
dvbsrc: documentation fixes

10 years agoglvideomixer: bas output width/height on the pad properties
Matthew Waters [Wed, 25 Jun 2014 02:00:34 +0000 (12:00 +1000)]
glvideomixer: bas output width/height on the pad properties

Allows automatic negotiation of the size in the following case:
gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
    videotestsrc ! m. \
    videotestsrc pattern=1 ! m.

https://bugzilla.gnome.org/show_bug.cgi?id=731878

10 years agoglvideomixer: don't clobber already allocated shader
Matthew Waters [Wed, 25 Jun 2014 00:18:48 +0000 (10:18 +1000)]
glvideomixer: don't clobber already allocated shader

10 years agocurls?ftpsink: Fix memory leaks due to new error handling
Sebastian Rasmussen [Tue, 24 Jun 2014 14:32:22 +0000 (16:32 +0200)]
curls?ftpsink: Fix memory leaks due to new error handling

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732174