Commit graph

5328 commits

Author SHA1 Message Date
Sebastian Dröge
76ca3c77d7 mxfdemux: Add function to get the essence track wrapping 2012-12-06 10:09:21 +01:00
Sebastian Dröge
28c11b2762 mxf: Add support for parsing filler structural components
This does not add support for actually producing filler data
if there's a filler component in a timeline.
2012-12-05 12:24:30 +01:00
Sebastian Dröge
a83b798312 mxf: Improve debug output during metadata resolval 2012-12-05 12:10:44 +01:00
Tim-Philipp Müller
caa9014bce resindvd, frei0r: link to libgmodule-2.0 in plugins that use g_module_* API
Probably needed for other plugins as well.
2012-11-30 20:01:16 +00:00
Sebastian Dröge
84e5418cfc mxf: Add more support for RP2008 (AVC in the MPEG mapping)
Conflicts:
	gst/mxf/mxfmpeg.c
2012-11-30 15:19:35 +01:00
Krzysztof Konopko
13910f5154 mpegtsmux: crashes when trying to re-use the element
A crash occured after pushing buffers and changing mpegtsmux state to
NULL/READ and then back to PLAYING/PAUSED.

The crash was caused by holding a dangling pointer in the MpegTsMux
program table.

Additionally stream headers were leaked when resetting the element:
mux->streamheader set to NULL in mpegtsmux_reset() before it's released
later in the same function.

Added a unit test: test_multiple_state_change

https://bugzilla.gnome.org/show_bug.cgi?id=689107
2012-11-27 19:00:25 +00:00
Krzysztof Konopko
76b8e8be51 mpegtsmux: propagate flow returns
And add a unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=688870
2012-11-23 00:14:53 +00:00
Tim-Philipp Müller
c6343ae5b5 hlssink: add doc chunk with example command line 2012-11-20 23:20:38 +00:00
Thibault Saunier
d53a447731 mpeg4videoparse: Fix nitpick 2012-11-15 11:40:05 -03:00
Thibault Saunier
daed78039e mpeg4videoparse: Make sure pad template caps are not fixed from the begging
Right now decodebin will concider the pad template caps as fixed and if a decoder
has restriction on for example height/width it won't be autoplugged because
gst_caps_is_subset fails as those fields are missing from the pad template caps.
We fix the issue here making sure that the pad caps are fixed using data from
the stream.
2012-11-15 10:45:53 -03:00
Josep Torra
3d012665f0 tsdemux: forward upstream time segments after flushes
Also reset segment info and drop the segment event when demuxer is
flushed.
Restore demuxer segment with the info stored in base when demuxer is
going to push data again if needed.
Drop code to recover the segment info from base in the initial program
becauses it's superseded by the new code.
2012-11-14 22:51:35 +01:00
Tim-Philipp Müller
9f7e7d305d gst_adapter_prev_timestamp -> gst_adapter_prev_pts 2012-11-14 12:41:27 +00:00
Tim-Philipp Müller
3abce95e61 hls: dist all header files needed to build 2012-11-14 11:35:23 +00:00
Tim-Philipp Müller
acd20a7960 accurip: fix linker flags
Spotted by Rico Tzschichholz.
2012-11-14 10:46:55 +00:00
Josep Torra
0b3e0ed080 tsdemux: reset the stream some more in the flushes
Now that we handle flushing in the FLUSH_STOP event we need to make
the streams ready if they were flushing.
2012-11-12 22:57:19 +01:00
Josep Torra
150376efe4 mpegtspacketizer: flush observations too
Flush the previous observations when the packetizer is flushed.
Also don't leak them in the dispose.
2012-11-12 22:57:19 +01:00
Josep Torra
1fc5fffe08 mpegtsbase: fix double unref of seek event 2012-11-12 22:57:19 +01:00
Josep Torra
cc40d49bed mpegtsbase: flush in FLUSH_STOP to avoid race conditions
Ensure the chain is not running before reset the state to avoid race
conditions and random corruptions downstream.
Also fixes segfaults in the packetizer due wrong available values that
causes gst_adapter_map to return a NULL pointer.
2012-11-12 22:57:19 +01:00
Josep Torra
996da425a9 Revert "tspacketizer: ensure that a null pointer isn't accessed"
This reverts commit 6efd611b8c.

Also this extra check won't be needed if it's fixed the race by moving
flush actions to FLUSH_STOP.
2012-11-10 19:52:46 +01:00
Josep Torra
80dd130fb0 Revert "tsbase: add a guard with an atomic boolean when flushing"
This reverts commit e14e310f71.

Would be better move the packetizer flushing to FLUSH_STOP and avoid
the race that way. Without introducing a memory barrier that could
have impact in the performance.
2012-11-10 19:46:40 +01:00
Alessandro Decina
51c4f255be hlssink: remove vim .swp files that I just committed accidentally... 2012-11-10 14:43:17 +01:00
Alessandro Decina
48431d76e6 hlssink: port to 1.0 2012-11-10 14:40:50 +01:00
Alessandro Decina
8cc1400488 hlssink: cut segments using the running-time 2012-11-10 14:40:50 +01:00
Alessandro Decina
b9018b2870 hlssink: don't unref ->multifilesink.
We gst_bin_add it to ourself so no need to unref in _dispose.
2012-11-10 14:40:50 +01:00
Alessandro Decina
b46886643b hlssink: rework _reset a bit 2012-11-10 14:40:38 +01:00
Josep Torra
e14e310f71 tsbase: add a guard with an atomic boolean when flushing 2012-11-10 00:08:35 +01:00
Josep Torra
6efd611b8c tspacketizer: ensure that a null pointer isn't accessed
Mitigates segfault due race condition in FLUSH_START handling and
mpegts_base_chain.
2012-11-09 22:17:11 +01:00
Edward Hervey
651203de07 mpegts: Only use timestamp-based PCR/PTS estimation when needed
When dealing with non-time based push-mode streams, we need to revert
to using the offset-based PCR/PTS estimation logic of packetizer.

This solves uses cases such as:
 pushfile:// ! tsdemux
 src ! queue ! tsdemux

https://bugzilla.gnome.org/show_bug.cgi?id=687178
2012-11-09 12:15:24 +01:00
Kevin Thornberry
c2d4c0da5e mpegtsmux: fix DTS value being used for PTS
https://bugzilla.gnome.org/show_bug.cgi?id=687806
2012-11-07 20:34:38 +00:00
Thibault Saunier
b3abd51656 h264parse: don't rewind to the NAL length size in bytewriter if the format is bytestream
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687548

Signed-off-by:  Kevin Thornberry
2012-11-06 12:44:29 -03:00
Thibault Saunier
72933e3929 h264parse: Actually add PPS data to the output buffer 2012-11-06 11:54:39 -03:00
Will Thompson
b4bf05b32e hlssink: add a playlist-length property
Probably not particularly useful in general, but handy
to cut down the latency on a stream.

https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:11 +00:00
Luciana Fujii Pontello
40325be3a4 hlssink: reset when going to NULL state
https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:07 +00:00
Luciana Fujii Pontello
dda3106650 hlssink: Fix segment names on playlist
When the playlist-root is not set, the segment name must not be
appended by the path.

https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:04 +00:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Sebastian Dröge
6fbf96d3e4 scaletempo: Use a better plugin filename 2012-11-02 13:44:02 +01:00
Tim-Philipp Müller
854626c908 rtpvp8: remove and move to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687263
2012-11-01 20:50:56 +00:00
Jan Schmidt
119c27c9b9 tsmux: Slightly reflow collected buffer handler for clarity. 2012-10-30 10:00:08 +11:00
Sebastian Pölsterl
43938bbf54 tsdemux: Fix name of CAT GstStructure
The structure previously was assigned the name "pat".

https://bugzilla.gnome.org/show_bug.cgi?id=686948
2012-10-29 13:16:46 +01:00
Tim-Philipp Müller
72353aeb71 docs: add new accurip element to docs
https://bugzilla.gnome.org/show_bug.cgi?id=685163
2012-10-28 16:54:07 +00:00
Christophe Fergeau
8c81e39de0 accuraterip: new element for AccurateRip calculation
https://bugzilla.gnome.org/show_bug.cgi?id=685163
2012-10-28 16:36:01 +00:00
Michael Smith
0c8a7fa46f mxf: Port mxfdemux to 1.0
Also ports mxfmux to 1.0 to the extent that it compiles, but is 100% untested,
so remains disabled.

Conflicts:
	gst/mxf/mxfdemux.c
	gst/mxf/mxfmux.c
2012-10-26 13:48:06 -07:00
Mark Nauwelaerts
0d1c7f6ea2 videoparsers: use parsed or upstream fps to set some baseparse parameters 2012-10-25 18:02:38 +02:00
Mark Nauwelaerts
58441bf262 h264parse: extract structure from correct caps
... which are known != NULL.
2012-10-25 18:02:38 +02:00
Mark Nauwelaerts
821c8519e0 videoparsers: preserve upstream fps and par
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660866
2012-10-25 17:07:18 +02:00
Sebastian Dröge
36680b1190 vc1parse: Give vc1parse a rank of NONE for now 2012-10-25 14:05:48 +02:00
Sebastian Dröge
6d5fc5a771 vc1parse: Port to 1.0 2012-10-25 14:05:48 +02:00
Alessandro Decina
00abb674ca vc1parse: disable BDU parsing until it's more mature
Parsing and splitting BDUs seems to trigger a few bugs in
downstream decoders so disable it for now.
2012-10-25 14:05:48 +02:00
Alessandro Decina
d03f5499bd vc1parse: set duration on output buffers
This has the nice side effect of avoiding hanging at EOS with truncated asf
clips.

Conflicts:
	gst/videoparsers/gstvc1parse.c
2012-10-25 14:05:48 +02:00
Alessandro Decina
f287dec1a2 vc1parse: workaround for simple/main codec_data being 5 bytes long
Sometimes the codec_data buffer for simple/main pushed by asfdemux is 5 bytes
instead of 4. When that happens, codec_data is still valid but it seems to have
one 0x00 trailing byte. Might be a bug in the demuxer, needs more investigation.
2012-10-25 14:05:48 +02:00
Alessandro Decina
8aec23ac05 vc1parse: remove stub stream conversion code 2012-10-25 14:05:48 +02:00
Alessandro Decina
cbecbbe23e vc1parse: add some more debugging to _renegotiate 2012-10-25 14:05:48 +02:00
Sebastian Dröge
5af8f82ecd vc1parse: Add VC1 parser plugin 2012-10-25 14:05:48 +02:00
Thijs Vermeir
1d710ad13a mpegdemux: check base_time before calculating new_start
https://bugzilla.gnome.org/show_bug.cgi?id=623387
2012-10-24 12:01:46 +02:00
Sebastian Dröge
df12aae15b scaletempo: Fix event leak 2012-10-23 14:33:21 +02:00
Sebastian Dröge
7c136f1166 scaletempo: Fix timestamp tracking 2012-10-23 14:32:24 +02:00
Sebastian Dröge
bb0c2d40c4 scaletempo: Implement LATENCY query 2012-10-23 14:20:12 +02:00
Sebastian Dröge
9319b48d24 scaletempo: Store instance private data in the instance struct
Getting it over and over again via G_TYPE_INSTANCE_GET_PRIVATE()
is really slow.
2012-10-23 13:39:17 +02:00
Sebastian Dröge
1bafd6191a hls: Link to $(LIBM) for isfinite() 2012-10-23 10:07:31 +02:00
Tim-Philipp Müller
2c02e25640 subenc: port to 1.0 2012-10-22 11:00:38 +01:00
Jan Schmidt
5888c60570 mpegtsmux: Don't make the same buffer writable twice.
Fixes Bug 686327 - mpegtsmux: fix refcount issue with input buffers
2012-10-22 01:41:41 +11:00
Mark Nauwelaerts
88f407bb5b mpegdemux: forward non-processed dvd events
... such as notably dvd-spu-clut-change.
2012-10-19 16:17:45 +02:00
Mark Nauwelaerts
a2b6f46f00 mpegdemux: segment event should be sent before gap event 2012-10-19 16:17:45 +02:00
Tim-Philipp Müller
465374f3c8 tsdemux: fix program packet sequence counter parsing in PES header 2012-10-19 01:05:44 +01:00
Tim-Philipp Müller
10c881b107 tsdemux: fix some inconsequential PES header parsing issues
additional_copy_info: need to get rid of the highest
bit, not the lowest one

program_packet_sequence_counter: also need to get rid
of the highest bit instead of multiplying with a random
value

original_stuff_length: want to AND 0x3f to extract the
lowest 6 bits, not multiply by it.

None of these fields are actually used though, so these
should not have caused any issues.
2012-10-19 01:05:34 +01:00
Raimo Järvi
9640669689 tsdemux: Fix parsing P-STD_buffer in PES header
https://bugzilla.gnome.org/show_bug.cgi?id=686294
2012-10-19 00:29:40 +01:00
Andoni Morales Alastruey
f768dfd925 tsdemux: fix potential crash dereferencing NULL program pointer
https://bugzilla.gnome.org/show_bug.cgi?id=686358
2012-10-18 17:54:41 +01:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Sebastian Dröge
5e6783f5af mpegdemux: Fix unitialized variable compiler warning 2012-10-16 11:38:08 +02:00
Sebastian Dröge
932c7175d3 hlsdemux: And fix another deadlock caused by the update thread not correctly shutting down
Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 11:46:45 +02:00
Sebastian Dröge
477b04a282 hlsdemux: Also hold the mutex before signalling the condition variable
Conflicts:
	gst/hls/gsturidownloader.c
2012-10-15 11:04:06 +02:00
Sebastian Dröge
113ccb1a53 hlsdemux: Also cancel the downloader before stopping the playlist update task 2012-10-15 10:55:12 +02:00
Sebastian Dröge
b335f5a68e hlsdemux: Only lock the mutex when it's not locked already
Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 10:39:52 +02:00
Sebastian Dröge
443703a08e hlsdemux: Fix another race condition by holding the mutex that the condition variable uses
Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 10:38:36 +02:00
Sebastian Dröge
e3f00d6252 hlsdemux: Port some things from the last commits 2012-10-15 09:47:35 +02:00
Sebastian Dröge
4df3fad9e4 hlsdemux: Never ever stop a task from the task function
This will deadlock. Also make sure to always post an error message
if required before pausing tasks from the task function.

Should fix another bunch of deadlocks.

Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 09:45:14 +02:00
Sebastian Dröge
ca57dd81e4 hlsdemux: Fix lots of deadlocks caused by race conditions in the task state handling 2012-10-15 09:44:09 +02:00
Mark Nauwelaerts
953e94ac78 mpegdemux: advance stream time when sending GAP event 2012-10-12 22:35:05 +02:00
Mark Nauwelaerts
c24eb1db9b mpegdemux: send language info downstream if available
... as extracted from dvd event.
2012-10-12 22:35:05 +02:00
Mark Nauwelaerts
f708ab8de9 mpegdemux: remove obsolete struct field 2012-10-12 22:34:56 +02:00
Michael Smith
e3a1e489d2 audioparse: Set framesize and properties correctly when taking format
from caps.
2012-10-12 12:29:59 -07:00
Mark Nauwelaerts
ba47769823 mpegdemux: tweak flow return aggregation 2012-10-12 17:51:51 +02:00
Mark Nauwelaerts
a9c0609ae8 mpegdemux: handle upstream TIME segments 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
69cfbcbd0b mpegdemux: handle and combine downstream flow return 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
acc0530f33 mpegdemux: handle new style dvd event 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
61849aad61 mpegdemux: do not add pad after no-more-pads 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
44583eae90 mpegdemux: clean up segment sending
... to use the src_segment as a basis for the sent segment,
thereby properly conveying accumulated base_time etc.

Also ensure src_segment is only adjusted once, so that
all downstream segments are identical to avoid stream
misalignment.
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
b8312df0a3 mpegdemux: send GAP event rather than segment updates 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
20cd96f5c3 mpegdemux: refactor segment sending 2012-10-12 17:03:37 +02:00
Mark Nauwelaerts
aca6237b3e mpegdemux: refactor init and reset 2012-10-12 17:03:37 +02:00
Mark Nauwelaerts
08d2fff2fd mpegdemux: no more segment closing in 1.0 2012-10-12 16:48:54 +02:00
Mark Nauwelaerts
ab337317fa mpegdemux: clean up some debug statements 2012-10-12 16:48:54 +02:00
Sebastian Dröge
e5eceaaa73 mpegtsdemux: First push EOS, then destroy all programs
And also properly remove the program from the subclass
2012-10-12 15:38:44 +02:00
Sebastian Dröge
80a3a014f5 hlsdemux: Fix invalid read 2012-10-12 15:09:07 +02:00
Sreerenj Balachandran
0b5fde7ed8 mpegvideoparse: signal interlacing properly in video caps
The field is called "interlace-mode" mode now and is a string.

https://bugzilla.gnome.org/show_bug.cgi?id=685895
2012-10-10 16:56:38 +01:00
Wim Taymans
380b23af90 replace some playbin2 -> playbin 2012-10-10 14:14:43 +02:00
Mark Nauwelaerts
a17b1f4c91 mpeg4videoparse: reset frame parser after parsing caps codec data
... so as to arrange for a proper fresh state upon first frame.
2012-10-10 09:59:46 +02:00
Michael Smith
080677beef audioparse: add a mode where the caps are taken from the sink pad, and thus audioparse
is only performing timestamping.
2012-10-09 23:00:14 -07:00
Michael Smith
2a18cf41a8 mpegvideoparse: reset frame parser after parsing codec_data buffer in caps, to
avoid not correctly parsing the full first frame.
2012-10-09 21:19:15 -07:00
Mark Nauwelaerts
8596e8d5da mpeg4videoparse: properly mark config data presence
... which we allow to start at VisualObjectSequence or
at VideoObject.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685709
2012-10-09 13:59:38 +02:00
Sebastian Dröge
12add5d529 fieldanalysis: Fix unitiailized variable compiler warning
And also use the pad's default event function instead
of just pushing to the peerpad. This makes sure any
default handling of events is called.
2012-10-08 12:38:20 +02:00
Sebastian Dröge
4570e8bec8 rtpvp8: Also commit remaining uncommitted changes... 2012-10-03 17:23:01 +02:00
Andoni Morales Alastruey
a423788940 rtpvp8: redifine vp8_norm to avoid duplicated symbols in static links with libvpx 2012-10-03 12:08:15 +02:00
Andoni Morales Alastruey
4d13feda83 videoparsers: fix duplicated symbols for static links with libschroedinger 2012-10-03 12:07:08 +02:00
Rob Clark
4dc648d343 dvdspu: add YV12 and NV12 support
https://bugzilla.gnome.org/show_bug.cgi?id=667220

Conflicts:
	gst/dvdspu/gstdvdspu.c
	gst/dvdspu/gstdvdspu.h
	gst/dvdspu/gstspu-pgs.c
	gst/dvdspu/gstspu-vobsub-render.c
2012-10-03 03:35:51 +10:00
Tim-Philipp Müller
f1f7171aa9 frei0r: fix plugin loading for frei0r elements that have no info.explanation
We don't allow empty descriptions for elements any more.
2012-09-29 13:22:34 +01:00
Nicolas Dufresne
9a2735a063 frei0r: Port to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=681678
2012-09-28 15:24:45 -04:00
Thiago Santos
8c8d1a0b6b wrappercamerabinsrc: change video-source if the user requested
When going from null to ready, check if the user requested to
use a new source and replace the current one.

Fixes #681562
2012-09-28 00:13:32 -03:00
Thiago Santos
c6fd3b070b wrappercamerabinsrc: pad probe ids are gulong
Change variable to the correct type
2012-09-27 23:22:37 -03:00
Thiago Santos
efd14946fd camerabin: use correct element name when replacing the video filter
The name was updated on the 0.10 -> 1.0 transition, but the
gst_bin_remove was still using the old name, causing an assertion
when replacing video-source-filter

https://bugzilla.gnome.org/show_bug.cgi?id=681564
2012-09-27 19:42:02 -03:00
Robert Swain
a5e92acee9 fieldanalysis: Port to 1.0
I was also vaguely forced to overhaul some bits and pieces and mess with
the data structures. This was mostly due to caps not being part of
buffers and so I had to switch to using GstVideoFrame and GstVideoInfo.
2012-09-25 11:07:09 +02:00
Olivier Crête
fbdf5eb6dc rtpdtmfdepay: Use 1.0-style caps negotiation and audio/x-raw 2012-09-22 15:00:27 -04:00
Tim-Philipp Müller
aeafab4bf0 intersubsrc: disable timestamping code that doesn't make sense
and which breaks the states check because we end up trying to
divide by 0.
2012-09-20 00:08:56 +01:00
Mark Nauwelaerts
7cf43c7b93 y4mdec: init videoinfo 2012-09-18 13:19:37 +02:00
Tim-Philipp Müller
591f6355e5 freeze: remove freeze element, was replaced by imagefreeze in -good years ago 2012-09-17 17:15:46 +01:00
Mark Nauwelaerts
5fad6e86d7 use gst_element_factory_get_metadata to replace obsolete API 2012-09-15 19:13:47 +02:00
Mark Nauwelaerts
5431286b2a replace _get_caps_reffed with _get_caps 2012-09-14 17:55:05 +02:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Mark Nauwelaerts
f2191d403c h264parse: init pps and sps structures before parsing
... which arranges for a valid fallback id, and allows to continue best effort
processing even when sps/pps parsing fails.
2012-09-14 17:27:49 +02:00
Peter Seiderer
a0d88d5ff5 gsth264parse: add comment where return should be checked.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683264
2012-09-14 17:27:49 +02:00
Wim Taymans
147654a2b8 rename some caps 2012-09-14 16:49:24 +02:00
Wim Taymans
b8f913555d ffmpegcolorspace is no more 2012-09-14 16:45:34 +02:00
Wim Taymans
0d8f8a5134 rename some caps and elements in examples 2012-09-14 16:29:23 +02:00
Arnaud Vrac
744bd3d3f2 mpeg4videoparse: use previously parsed visual object when parsing VOL
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:27 +02:00
Arnaud Vrac
207a76daea mpeg4videoparse: do not skip user data
User data was skipped until now, so the user data was included when
parsing the previous packet and in the config buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:23 +02:00
Olivier Crête
aa23ea6fca interaudiosrc: Make caps writable in fixate 2012-09-13 15:51:02 -04:00
Olivier Crête
b1fcf14da5 inter: Port to 1.0 API
Also remove a lot of empty, non-implemented methods
2012-09-13 15:32:50 -04:00
Jan Schmidt
b7d63d3fb1 videoparsers: Disable PTS interpolation in the base parse class
All these formats have re-ordered PTS which the base class gets
wrong. It's better to leave them blank and let the decoder sort it
out. Better yet would be to track and interpolate the timestamps
in the subclasses (FIXME)
2012-09-12 23:05:47 -07:00
Jan Schmidt
8d5c1be312 dvdspu: Advance video stream with gap events.
Handle Gap events the way we used to handle segment updates
and advance/fill in the video stream accordingly. Fixes
'still' menus which aren't DVD still frames, but are just a
single frame with accompanying audio.
2012-09-12 23:05:47 -07:00
Jan Schmidt
c5c44628fc mpegvideoparse: Handle Sequence Display Extension
Change the way the pixel-aspect-ratio is computed by
interpreting the sequence header aspect ratio info
as MPEG-1 values until a sequence extension or
sequence display extension is seen, and then updating
the sequence header struct accordingly.

Fixes incorrect anamorphic display on some MPEG-2 (DVD)
sequences.
2012-09-12 23:05:47 -07:00
Tim-Philipp Müller
b5581cd0a4 segmentclip: fix wrong pad template unref
Blows up when trying to instantiate a second clip element
of the same type, like in the generic/states unit test.
2012-09-13 01:26:28 +01:00
Tim-Philipp Müller
871f7e0450 siren: init debug category before logging anything 2012-09-13 00:59:33 +01:00
Olivier Crête
6a66ebf784 pnm: Port to 1.0 API 2012-09-12 18:35:04 -04:00
Olivier Crête
bfb56f8380 freeze: Use a GPtrArray instead of a GQueue
This way, the most common function (changing buffers) becomes O(1) instead
of O(n)
2012-09-12 17:34:03 -04:00
Olivier Crête
e23e3d6b64 freeze: Port to 1.0 API 2012-09-12 17:24:26 -04:00
Olivier Crête
ab24971a81 speed: Various 1.0 style additions
Use GstAudioInfo everywhere, etc
2012-09-12 16:26:19 -04:00
Sreerenj Balachandran
98ffddb0f8 speed: port to 0.11
https://bugzilla.gnome.org/show_bug.cgi?id=683727
2012-09-12 16:06:44 -04:00
Olivier Crête
5111a6ed20 liveadder: port to 1.0 API 2012-09-12 16:03:13 -04:00
Stefan Sauer
27cd08ad95 collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:13:35 +02:00
Olivier Crête
f207edfc44 siren: Port to 1.0 API 2012-09-12 12:14:53 -04:00
Edward Hervey
56ef4054ee dvbsuboverlay: Use default query handlers where needed
And fixup getcaps handler while I'm at it
2012-09-12 15:17:56 +02:00
Thiago Santos
8a8baa6a70 camerabin: port tagsetter mode setting code
Check directly with GST_IS_TAG_SETTER instead of using the
deprecated GstImplementsInterface

Fixes the image tag setting unit test
2012-09-12 09:48:32 -03:00
Gwenole Beauchesne
2c3eaf527b codecparsers: h264parse: don't use anonymous unions.
Anonymous union is an ISO C (2011) feature that is not exposed in
compilers strictly conforming to the previous standard.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:39:32 +01:00
Peter Korsgaard
b04e61d8a4 opus + jpegformat: unbreak non-debug build
opus + jpegformat plugin builds fail when gstreamer is configured with
--disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol
instead of GST_DISABLE_GST_DEBUG.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>

https://bugzilla.gnome.org/show_bug.cgi?id=683850
2012-09-12 09:13:30 +01:00
Tim-Philipp Müller
3bb23a5e98 jpegformat: don't link to libgstinterfaces which doesn't exist any longer 2012-09-12 01:37:06 +01:00
Olivier Crête
77d4a59969 audiovisualizer: Don't try to sync controller values to invalid timestamp 2012-09-11 19:41:31 -04:00
Olivier Crête
1826c126bf jpegparse: Finish port to 1.0 API 2012-09-11 19:36:24 -04:00
Olivier Crête
977f84d272 autoconvert: Look at all possibilities for accept-caps even if there is a selected subelement
If the accept-caps succeeds with a different subelement, then the subsequent
caps event will change the current subelement.
2012-09-11 18:53:43 -04:00
Mark Nauwelaerts
b807753453 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:47:33 +02:00
Tim-Philipp Müller
3f0a844f9d festival: timed text is text/x-raw now 2012-09-11 15:08:49 +01:00
Tim-Philipp Müller
2c5138dd76 gdp: dump bytes into debug log using GST_MEMDUMP
Instead of home-grown solution.
2012-09-11 01:54:46 +01:00
Wim Taymans
ed451b1cd7 update for new variable names 2012-09-11 01:54:46 +01:00
Mark Nauwelaerts
712c63af44 gdppay: plug buffer leak 2012-09-11 01:54:46 +01:00
Tim-Philipp Müller
b928640b5e Use new gst_element_class_set_static_metadata() 2012-09-11 01:54:45 +01:00
Sebastian Dröge
ca7c2af1c4 gst: Update for GST_PLUGIN_DEFINE() API change 2012-09-11 01:54:45 +01:00
Wim Taymans
946dbd38d8 Improve buffer allocation of wrapped memory 2012-09-11 01:54:45 +01:00
Wim Taymans
f12af88f4a update for buffer api change 2012-09-11 01:54:45 +01:00
Wim Taymans
e817295aef update for buffer changes 2012-09-11 01:54:44 +01:00
Wim Taymans
38abb4a497 update for memory api changes 2012-09-11 01:54:44 +01:00
Wim Taymans
4ae0b5eb48 update for new memory api 2012-09-11 01:54:44 +01:00
Wim Taymans
30b45304e4 gdppay: fixup for changed caps
Try to send the streamheader after the first buffer.
2012-09-11 01:54:44 +01:00
Wim Taymans
66fb9166a4 dataprotocol: don't define default Category
Since we now include this into the unit tests directly, don't define the default
category macro because it conflicts with check.
2012-09-11 01:54:44 +01:00
Wim Taymans
f6cab316cc update for HEADER flag changes 2012-09-11 01:54:44 +01:00
Wim Taymans
33344dc2b9 port to new map API 2012-09-11 01:54:44 +01:00
Tim-Philipp Müller
2d7150414b gdp: move dataprotocol library into gdp plugin and make private
We have removed things like protocol=gdp in the tcp elements
in favour of explicit gdppay/depay elements, so there's no need
to keep a public API and library for now. We can still add it
back later. Someone needs to think hard about 0.11 and gdp
anyway one of these days.
2012-09-11 01:54:43 +01:00
Wim Taymans
d67bdd8375 gdp: fix header files
Ensure correct indentation and retab
Make sure all structure have padding
2012-09-11 01:54:41 +01:00
Wim Taymans
3bd55502a1 gdp: rename buffer PREROLL -> LIVE flag
Rename the GST_BUFFER_FLAG_PREROLL to GST_BUFFER_FLAG_LIVE and give the new flag
a meaning. The old PREROLL flag never had a clear meaning.
2012-09-11 01:54:41 +01:00
Wim Taymans
615063ba5e gdp: make new _buffer_allocate method
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
2012-09-11 01:54:41 +01:00
Wim Taymans
1136224e91 gdp: Rework GstSegment handling
Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
2012-09-11 01:54:41 +01:00
Wim Taymans
b4305c56f5 gdp: Hide the GstStructure in GstEvent
Hide the GstStructure of the event in the implementation specific part so that
we can change it.
Add methods to check and make the event writable.
Add a new method to get a writable GstStructure of the element.
Avoid directly accising the event structure.
2012-09-11 01:54:41 +01:00
Stefan Kost
536f51cf98 gdp: add docs for GstDPPacketizer 2012-09-11 01:54:41 +01:00
Wim Taymans
7ec4633cef gdp: port code to new buffer data API 2012-09-11 01:54:41 +01:00
Wim Taymans
c25051cb01 gdp: remove deprecated code 2012-09-11 01:54:41 +01:00
Tim-Philipp Müller
2c9ac5a4c9 gdp: make public enum _get_type() functions thread-safe
Not that it is likely to matter in practice, but since these are public
API they should probably be thread-safe.
2012-09-11 01:54:40 +01:00
Tim-Philipp Müller
dbbbe59577 gdp: dataprotocol, lfocontrolsource: fix enum value name in enums that are public API
So run-time bindings can introspect the names correctly (we abuse this
field as description field only in elements, not for public API
(where the description belongs into the gtk-doc chunk).

https://bugzilla.gnome.org/show_bug.cgi?id=629946
2012-09-11 01:54:40 +01:00
Benjamin Otte
a7078b74fb gdp: Fixes for -Wmissing-declarations -Wmissing-prototypes
Also adds those flags to the configure warning flags

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2012-09-11 01:54:39 +01:00
Benjamin Otte
b2314491b1 gdp: Make code safe for -Wredundant-decls
Adds that warning to configure.ac

Includes a tiny change of the GST_BOILERPLATE_FULL() macro:
The get_type() function is no longer declared before being defined.

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2012-09-11 01:54:39 +01:00
Stefan Kost
c1574cfbd1 gdp: fix broken xrefs in docs 2012-09-11 01:54:39 +01:00
Sebastian Dröge
1774354a3a gdp: Don't write to the same region of memory as a uint64 and uint16 as this breaks ...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
Don't write to the same region of memory as a uint64 and uint16
as this breaks strict aliasing rules and apparantly breaks on PPC
and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2012-09-11 01:54:39 +01:00
Michael Smith
458f65fbba gdp: When calculating GDP body CRC, use the correct pointer.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
When calculating GDP body CRC, use the correct pointer.
Fixes part of #522401.
2012-09-11 01:54:39 +01:00
Sebastian Dröge
90af674a5f gdp: Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* gst/gstconfig.h.in:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
* libs/gst/check/gstcheck.c: (gst_check_log_message_func),
(gst_check_log_critical_func), (gst_check_drop_buffers),
(gst_check_element_push_buffer_list):
* libs/gst/controller/gstcontroller.c: (gst_controller_get),
(gst_controller_get_type):
* libs/gst/controller/gsthelper.c: (gst_object_control_properties),
(gst_object_get_controller), (gst_object_get_control_source):
* libs/gst/controller/gstinterpolationcontrolsource.c:
(gst_interpolation_control_source_new):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_new):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_0_2):
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
* plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
(gst_file_index_add_association):
* plugins/indexers/gstmemindex.c:
* tests/benchmarks/gstpollstress.c: (mess_some_more):
* tests/check/elements/queue.c: (setup_queue):
* tests/check/gst/gstpipeline.c:
* tests/check/libs/collectpads.c: (setup), (teardown),
(gst_collect_pads_suite):
* tests/examples/adapter/adapter_test.c:
* tests/examples/metadata/read-metadata.c: (make_pipeline):
* tests/examples/xml/createxml.c:
* tests/examples/xml/runxml.c:
* tools/gst-inspect.c:
* tools/gst-run.c:
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers, not using variable sized arrays
on the stack, moving variable declarations to the beginning of
a block and using "foo (void)" instead of "foo ()" for declarations.
2012-09-11 01:54:39 +01:00
Damien Lespiau
c0362d43ab gdp: Fix empty prototypes. Fixes bug #507957.
Original commit message from CVS:
Patch by: Damien Lespiau <damien.lespiau@gmail.com>
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gstcontrolsource.h:
* libs/gst/controller/gstinterpolationcontrolsource.h:
* libs/gst/controller/gstlfocontrolsource.h:
* libs/gst/dataprotocol/dataprotocol.h:
Fix empty prototypes.  Fixes bug #507957.
2012-09-11 01:54:39 +01:00
Tim-Philipp Müller
8941bdd4ee gdp: g_type_class_ref() other types as well, see #349410 and #64764.
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstevent.c: (_gst_event_initialize):
* gst/gstquery.c: (_gst_query_initialize):
* libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
g_type_class_ref() other types as well, see #349410 and #64764.
* gst/gstbuffer.c: (_gst_buffer_initialize):
* gst/gstmessage.c: (_gst_message_initialize):
Simplify existing g_type_class_ref().
2012-09-11 01:54:39 +01:00
Tim-Philipp Müller
328677c684 gdp: Printf fixes.
Original commit message from CVS:
* gst/gstpad.c: (pre_activate):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistryxml.c: (load_plugin):
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_observe_times):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Printf fixes.
2012-09-11 01:54:39 +01:00
Andy Wingo
a03185f5f2 gdp: GST_DISABLE_DEPRECATED is only for users of API that don't want to see deprecated functions in the headers; people th...
Original commit message from CVS:
2006-08-11  Andy Wingo  <wingo@pobox.com>

* configure.ac:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
* tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
is only for users of API that don't want to see deprecated
functions in the headers; people that want to compile out
deprecated code should pass -DGST_REMOVE_DEPRECATED into the
CFLAGS. Fixes the build of multifdsink, or will soon..
2012-09-11 01:54:39 +01:00
Stefan Kost
562a1bbdd6 gdp: add gst_object_{s,g}et_control_rate(), add private data section, fix docs
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/controller/gstcontroller.c:
(_gst_controller_get_property), (_gst_controller_set_property),
(_gst_controller_init), (_gst_controller_class_init):
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
(gst_object_set_control_rate):
API: add gst_object_{s,g}et_control_rate(), add private data section,
fix docs
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
* libs/gst/dataprotocol/dataprotocol.h:
add deprecation guards to make gtk-doc happy and allow disabling cruft
2012-09-11 01:54:38 +01:00
Wim Taymans
ae5528c28f gdp: Make debug category static
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
(gst_dp_crc), (gst_dp_header_payload_length),
(gst_dp_header_payload_type), (gst_dp_packet_from_event),
(gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
(gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
(gst_dp_event_from_packet), (gst_dp_validate_header),
(gst_dp_validate_payload):
Make debug category static
Constify the crc table.
Do some more arg checking in public functions.
Fix some docs and do some small cleanups.
* tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
Add some more checks to see if GDP deals with bogus input.
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
93b60df9ac gdp: fix failure to deserialize event packets with empty payload (only ev...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_1_0):
Fixes #347337: failure to deserialize event packets with
empty payload (only event type)
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
499736b709 gdp: add a gdp image to the docs
Original commit message from CVS:

* docs/README:
* docs/images/gdp-header.svg:
add a gdp image
* docs/libs/Makefile.am:
* docs/libs/gdp-header.png:
* libs/gst/dataprotocol/dataprotocol.c:
add it to the API docs
* docs/manual/intro-motivation.xml:
fix typo
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
2c9aa80caa gdp: add note to docs about GDP versioning; remove tmpl file
Original commit message from CVS:
add note to docs about GDP versioning; remove tmpl file
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
84bbfbecc4 gdp: add a GstDPPacketizer object, and create/free functions
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
(gst_dp_version_get_type), (gst_dp_init),
(gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
(gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
(gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
(gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
(gst_dp_event_from_packet), (gst_dp_packetizer_new),
(gst_dp_packetizer_free):
* libs/gst/dataprotocol/dataprotocol.h:
API: add a GstDPPacketizer object, and create/free functions
API: add GstDPVersion enum
Add 1.0 event function that uses the string serialization
Serialize more useful buffer flags
Fixes #343988
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
19ea4af5b3 gdp: factor out CRC code
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
(gst_dp_packet_from_event):
factor out CRC code
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
10d21bc171 gdp: factor out some common header init code
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
(gst_dp_packet_from_event):
factor out some common header init code
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
849da00210 gdp: make gst_dp_crc() public
Original commit message from CVS:

* docs/libs/gstreamer-libs-sections.txt:
* docs/libs/tmpl/gstdataprotocol.sgml:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
* libs/gst/dataprotocol/dataprotocol.h:
API: make gst_dp_crc() public
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
25b5f08745 gdp: make sure we zero the whole ABI-compatible area
Original commit message from CVS:

* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer):
make sure we zero the whole ABI-compatible area
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
c1b82e3cda gdp: whitespace, comment, doc fixup
Original commit message from CVS:
whitespace, comment, doc fixup
2012-09-11 01:54:38 +01:00
Michael Smith
1c7fae3d5d gdp: Fixes in reading/writing events over GDP (not currently used?) - dereferencing ...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
Fixes in reading/writing events over GDP (not currently used?) -
dereferencing NULL events for unknown/invalid event types, memory
leak, and change g_warning to GST_WARNING.
2012-09-11 01:54:38 +01:00
Michael Smith
cfcef37b4f gdp: Fix docs for dataprocotol to not get the return types completely wrong for a fe...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
Fix docs for dataprocotol to not get the return types completely
wrong for a few functions.
2012-09-11 01:54:38 +01:00
Wim Taymans
fc5ec74824 gdp: Documentation updates.
Original commit message from CVS:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstadapter.h:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_get_position):
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_default_query), (gst_base_src_default_do_seek),
(gst_base_src_do_seek), (gst_base_src_perform_seek),
(gst_base_src_send_event), (gst_base_src_update_length),
(gst_base_src_get_range), (gst_base_src_loop),
(gst_base_src_start):
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.h:
* libs/gst/base/gstcollectpads.h:
* libs/gst/base/gstpushsrc.c:
* libs/gst/base/gstpushsrc.h:
* libs/gst/dataprotocol/dataprotocol.c:
* libs/gst/dataprotocol/dataprotocol.h:
* libs/gst/net/gstnetclientclock.h:
* libs/gst/net/gstnettimeprovider.h:
Documentation updates.
2012-09-11 01:54:38 +01:00
Andy Wingo
7e0a99936d gdp: Fix Timmeke Waymans bug.
Original commit message from CVS:
2005-10-13  Andy Wingo  <wingo@pobox.com>

* libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
Fix Timmeke Waymans bug.
(gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
string of the proper length to gst_caps_from_string. There's a
potential for, before this fix, that this could cause someone
connecting over the network to cause a segfault if the payload is
not NUL-terminated.
2012-09-11 01:54:37 +01:00