Commit graph

4619 commits

Author SHA1 Message Date
Mark Nauwelaerts ccee94e30d mve: use signed loop variable
... when using it in i >= 0.
2012-01-23 14:22:12 +01:00
Mark Nauwelaerts 6b71ccb552 mve: ensure best target found 2012-01-23 14:13:47 +01:00
Mark Nauwelaerts c004a1e462 festival: enhance some error case handling 2012-01-23 14:13:45 +01:00
Mark Nauwelaerts ae02c7820b nuvdemux: check directly for valid buffer
... rather than doing so indirectly in (incomplete) semantic way.
2012-01-23 14:13:43 +01:00
David Schleef 4b11ced2eb Revert "!colorspace: fix odd size problems"
This reverts commit e2e6fdcb6b.
Untested commit was accidentally pushed.
2012-01-22 16:59:37 -08:00
David Schleef de562a194f Revert "colorspace: Fix out-of-bound errors for v210"
This reverts commit 3b8b87cb6c.
Untested commit was accidentally pushed.
2012-01-22 16:58:59 -08:00
David Schleef 96f7c5374f inter: Fix compilation
Fix up previously botched rebase.
2012-01-22 16:55:46 -08:00
David Schleef 3b8b87cb6c colorspace: Fix out-of-bound errors for v210 2012-01-22 15:52:15 -08:00
David Schleef e2e6fdcb6b !colorspace: fix odd size problems 2012-01-22 15:52:15 -08:00
David Schleef 4eb4602746 inter: Add channel property 2012-01-22 15:52:15 -08:00
David Schleef 70684f4d1b colorspace: Add jpeg color-matrix conversion 2012-01-22 15:49:44 -08:00
David Schleef f02ee5b403 inter: Add subtitle inter elements 2012-01-22 15:49:44 -08:00
Tim-Philipp Müller 840a3a5b36 Remove legacy mpegvideoparse plugin
There's a new one in the videoparsers plugin.
2012-01-22 19:27:59 +00:00
Tim-Philipp Müller a15029922f multifdsink: make git ignore generated files 2012-01-22 19:13:50 +00:00
Tim-Philipp Müller 5791ed71ad h263parse: make level and profile fields in caps strings
For consistency with other caps.

https://bugzilla.gnome.org/show_bug.cgi?id=658438
2012-01-22 19:12:33 +00:00
Tim-Philipp Müller 27354f065d mpegpsdemux: handle corner-case of short read in pull_buffer better
It's extremely unlikely, but there are corner cases where a short
read might happen, so handle that, just in case.
2012-01-19 15:56:12 +00:00
Wim Taymans 27ee60a27b port to new gthread API 2012-01-19 11:34:26 +01:00
Sebastian Dröge f6427af9f9 sdpdemux: Port to GIO and the new udpsrc/sink properties 2012-01-18 16:35:04 +01:00
Sebastian Dröge 31dddb7c9f multifdsink: Add $(GST_PLUGINS_BAD_CFLAGS) for the i18n header file 2012-01-18 15:48:00 +01:00
Mark Nauwelaerts dbc8bbd755 adpcmdec: port to audiodecoder 2012-01-17 21:37:48 +01:00
Mark Nauwelaerts 1a73bf0b79 adpcmenc: port to audioencoder 2012-01-17 21:37:45 +01:00
Mark Nauwelaerts 3f3a21ef49 pcapparse: port to 0.11 2012-01-16 22:52:13 +01:00
Mark Nauwelaerts 0d088c7eb1 irtspparse: port to 0.11 2012-01-16 22:51:59 +01:00
Vincent Penquerc'h 6b4038fed3 debugspy: fix string leak 2012-01-16 17:30:22 +00:00
Vincent Penquerc'h 31cb57fbb7 mpegdemux: fix missing finalize chaining to parent
This code does not seem to trigger on my test streams, so it's
a bit of a blind fix, but seems safe enough to push.
2012-01-16 17:10:30 +00:00
Sebastian Dröge 90c075b1f6 multifdsink: Move multifdsink from gst-plugins-base to gst-plugins-bad 2012-01-16 11:29:27 +01:00
Reynaldo H. Verdejo Pinochet 26a1ca09aa Android, Fix wrong dinamic linking attempt
gstcodecparsers is built as an static library.

This change fixes building with the Android buildsystem.
2012-01-13 15:57:33 -03:00
Vincent Penquerc'h 6cad606ead sirenenc: fix base class call mixup in finalize 2012-01-13 12:08:28 +00:00
Tim-Philipp Müller 699677ed8a Merge remote-tracking branch 'origin/master' into 0.11 2012-01-13 00:11:54 +00:00
Vincent Penquerc'h 76a481c726 patchdetect: remove (leaking) dead code 2012-01-12 17:11:14 +00:00
Vincent Penquerc'h a940c6a84d inter: remove (leaking) dead code 2012-01-12 16:48:38 +00:00
Vincent Penquerc'h 72eb8209a5 hlsdemux: fix queue leak 2012-01-12 15:58:36 +00:00
Vincent Penquerc'h 083d21ce3d dccpclientsink: fix string leak 2012-01-12 15:43:51 +00:00
Vincent Penquerc'h 2b81720a22 y4mdec: fix event leak 2012-01-12 15:19:01 +00:00
Sebastian Dröge a01a4ea2d3 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/tsdemux.c
	gst/videoparsers/gsth264parse.c
	tests/check/elements/camerabin2.c
2012-01-10 15:50:37 +01:00
Vincent Penquerc'h 6cf84a0348 interlace: fix caps leaks 2012-01-10 13:25:27 +00:00
Vincent Penquerc'h 5ea1601dd9 interlace: fix ref leak 2012-01-10 13:25:27 +00:00
Edward Hervey fcf511aa8f tsdemux: Don't provide bogus values in non-TIME push-mode
Only take the upstream segment values in GST_FORMAT_TIME
2012-01-10 11:45:25 +01:00
Edward Hervey 24408bce96 tsdemux: Handle rollover in PTS and DTS
Also hands back-rollover which can happen with PTS
2012-01-10 11:45:22 +01:00
Sebastian Dröge adb4b010ed mpeg4videoparse: Don't update caps on every buffer 2012-01-09 14:39:43 +01:00
Sebastian Dröge c76890b7fa mpeg4videoparse: Don't call gst_buffer_memcmp() with a NULL buffer 2012-01-09 14:28:14 +01:00
Vincent Penquerc'h 2dc41db862 h264parse: use the framerate that was copied a few lines above 2012-01-09 11:03:24 +00:00
Vincent Penquerc'h e81ecb250a mpegvideoparse: add a couple consts on string literal arrays 2012-01-09 10:58:56 +00:00
Sebastian Dröge 2a255cca8b wrappercamerabinsrc: GstBaseCameraSrc is the base class, not GstBin 2012-01-09 08:40:48 +01:00
David Biomech360 36c496b8f1 coloreffects: added support for a visual magnifier color filter to be used in gnome-video-effects
https://bugzilla.gnome.org/show_bug.cgi?id=666542
2012-01-06 11:24:45 +00:00
Vincent Penquerc'h 4f27b2b4fe h264parse: fix test and set not using the same input
This fixes H.264 output not having a set framerate, and
confusing some of the elements downstream (such as interlace).
2012-01-06 10:54:11 +00:00
Vincent Penquerc'h 1c25aab906 interlace: avoid dividing by zero on unkbown framerate
If the framerate is unknown, we cannot generate meaningful
buffer timestamps/durations, so set them to _NONE instead of
calculating something wrong and dividing by 0.
2012-01-06 10:54:11 +00:00
Sebastian Dröge 2a0ca49bd5 audiovisualizers: Update for the new raw audio caps 2012-01-05 10:37:37 +01:00
Mark Nauwelaerts c4abaf1428 h264parse: fix and tweak frame timestamping
... to run with properly init'ed variables, and to only perform interpolation
in safe cases.
2012-01-04 11:16:18 +01:00
Mark Nauwelaerts 9d0c7d054e h264parse: prefer negotiating pass-through 2012-01-03 22:10:20 +01:00
Mark Nauwelaerts dcd2ee421a h264parse: mark byte-stream AU frame with inserted codec NALs as keyframe 2012-01-03 22:08:07 +01:00
Mark Nauwelaerts 75b8ddb6cf h264parse: properly determine skip amount when no NAL start found yet 2012-01-03 20:27:07 +01:00
Mark Nauwelaerts c54144cc16 h264parse: some more proper parse state reset 2012-01-03 20:26:51 +01:00
Wim Taymans b592f431e3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:54 +01:00
Edward Hervey f017f9a913 camerabin2: encoding profiles are objects in 0.11 2012-01-02 15:55:21 +01:00
Edward Hervey f1aea6f06d mpegtsbase: Swallow incoming caps event
Otherwise we end up asking subclasses to push the event forward,
which will fail since no pads are created yet.
2011-12-30 18:18:10 +01:00
Edward Hervey a646d8d1e2 tsdemux: Properly carry over the timestamp 2011-12-30 18:17:26 +01:00
Edward Hervey a3ba21d3b9 tsdemux: Use incoming timestamps in live mode 2011-12-30 18:03:04 +01:00
Edward Hervey 99a7b0a692 tsdemux: Report latency (700ms) 2011-12-30 18:03:03 +01:00
Edward Hervey e48966ecf1 mpegtsbase: Query whether upstream is live or not 2011-12-30 18:03:02 +01:00
Matej Knopp 4a8b6f0121 tsdemux: Activate pad before settings caps
https://bugzilla.gnome.org/show_bug.cgi?id=665677
2011-12-30 17:52:17 +01:00
Edward Hervey 4917e16458 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tests/examples/camerabin2/Makefile.am
2011-12-30 11:49:27 +01:00
Edward Hervey f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Thiago Santos e4d3d2dcd1 camerabin2: clarify some message logs
Be explicit on which encodebin we're switching profiles on the
log messages
2011-12-30 00:02:19 -03:00
Thiago Santos 9de92cf9dc camerabin2: fix gvalue leak 2011-12-27 16:40:38 -03:00
Thiago Santos 399ec70a08 camerabin2: secure event ref when sending event to parent class
camerabin2 needs to hold an extra ref on send_event before sending
it to the parent class as it will need to use it after the parent
handles it.
2011-12-27 16:40:38 -03:00
Thiago Santos 44eb631841 camerabin2: port to 0.11 2011-12-23 19:01:20 -03:00
Thiago Santos 36fbb8eea4 basecamerabinsrc: remove redundant functions
gst_bin_get_by_interface should be enough for applications.
Haven't seen anyone using those other than wrappercamerabinsrc.
2011-12-22 16:17:56 -03:00
Thiago Santos d9e13c4268 camerabin2: remove unused helper function
This drop_eos_probe function is not used anymore, remove it
2011-12-22 16:13:59 -03:00
Thiago Santos 0ce5021058 camerabin2: Fix A/V sync for captures
Audio src was pushing newsegments starting from 0, even when its buffers
were not starting with 0 as their timestamps. Add a buffer probe that
checks the ts of the first buffer and uses that to push a newsegment,
just like we do for video on wrappercamerabinsrc.
2011-12-20 15:05:27 -03:00
Thiago Santos 88e3d82201 wrappercamerabinsrc: Push newsegments on video capture start
Pushing newsegments to inform muxers about the start time of the
video buffer timestamps.
2011-12-20 14:46:26 -03:00
Wim Taymans 8506342fb6 y4m: update for new interlace caps 2011-12-19 18:44:33 +01:00
Vincent Penquerc'h b23e6bfa70 mpegtsdemux: only warn when we see a PID with unknown type
This is quite frequent, and we will just ignore that stream,
so an error is not warranted.
2011-12-19 13:18:51 +00:00
Alessandro Decina 570ba0c84a h264parse: avoid pushing SPS/PPS at start only if both are found in stream
Avoid injecting SPS/PPS nals only if both are already present in the stream.
Fixes some AVC clips that happen to have only PPS nals in stream.
2011-12-19 12:36:39 +01:00
Alessandro Decina 58cc609b08 mpeg4videoparse: handle force key unit events 2011-12-18 18:37:08 +01:00
Alessandro Decina 94ae4ca833 h264parse: do wait for a keyframe when handling force key unit events
Although some decoders can start decoding with just PPS and SPS and waiting for
a keyframe is bad when the keyframe interval is large, gst-ffmpeg does need a
keyframe to start decoding.
2011-12-18 17:40:57 +01:00
Alessandro Decina 38a5719c53 mpegtsmux: unset the current PCR stream when starting a new unit
Unset the current PCR stream when starting a new unit so that afterwards a new
stream is selected as PCR and PAT and PMT tables are regenerated.
2011-12-18 17:32:11 +01:00
Alessandro Decina ee429ba7b8 mpegtsmux: fix key unit event handling when muxing both audio and video
Take only video buffers into account when deciding when to cut so that new units
start with a video keyframe.
2011-12-18 17:31:18 +01:00
Vincent Penquerc'h fe1f79b9bb videomeasure: port to GstCollectPads2 2011-12-15 13:47:55 +00:00
Vincent Penquerc'h f4ccc7dff8 mxfmux: port to GstCollectPads2
Only tested with audio, I can't get it to accept video (before
the port).
2011-12-15 13:39:41 +00:00
Vincent Penquerc'h 1029619766 mpegtsmux: port to GstCollectPads2
I *think* the stream lock use is correct, not 100% sure.
2011-12-15 13:22:24 +00:00
Vincent Penquerc'h c03c4d7fac mpegpsmux: port to GstCollectPads2 2011-12-15 13:08:42 +00:00
Vincent Penquerc'h a8a0b11e3f frei0r: port to GstCollectPads2
Untested, no sample pipeline mentioned, and I've no idea what
this plugin does, but since all the previous ports work out of
the box, this is deemed to work until evidence it doesn't.
2011-12-15 13:04:51 +00:00
Vincent Penquerc'h c826a197ce compare: port to GstCollectPads2 2011-12-15 13:02:16 +00:00
Vincent Penquerc'h 4db6f8f7f2 asfmux: port to GstCollectPads2 2011-12-15 12:59:57 +00:00
Tommi Myöhänen 9648d100b4 camerabin2: fix leak on error handling
Camerabin2 parses warning messages with gst_message_parse_warning(message,
&err, &debug) but doesn't free given GError and debug strings.
Documentation shows that the ownership of those fields is transferred
to caller (they are marked "[transfer full]" in the API docs).
2011-12-14 08:32:50 -03:00
Julien Isorce f21ea162ad mpegtsparse: check offset when retrieving table_id on malformed packets
Fix bug #665988
2011-12-13 10:44:47 +01:00
Sebastian Dröge 0d40afa9f0 Revert "mpegtsparse: check offset when retrieving table_id on malformed packets"
This reverts commit e62978d045.
2011-12-13 10:44:42 +01:00
Julien Isorce e62978d045 mpegtsparse: check offset when retrieving table_id on malformed packets 2011-12-12 15:05:16 +01:00
Vincent Penquerc'h 63110cab94 liveadder: fix buffer leak 2011-12-12 14:00:22 +00:00
Tim-Philipp Müller ad6ea8fbe9 mpegpsmux: put stream headers into output caps
Basic version with only the system header and the program
stream map. An advanced version could include codec-specific
bits like SPS/PPS too. This is useful in connection with
e.g. multifilesink to make sure new files always start with
the stream headers.
2011-12-11 00:13:51 +00:00
Tim-Philipp Müller eaeba16a56 mpegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists
Useful in connection with multifilesink, for example, to make sure
the new file always starts with a keyframe.
2011-12-11 00:10:15 +00:00
Tim-Philipp Müller c4cb38f394 mpegpsmux: remember primary video stream 2011-12-11 00:10:15 +00:00
Tim-Philipp Müller 1f45eb7950 mpegpsmux: remember whether an incoming buffer is a keyunit or not 2011-12-11 00:10:12 +00:00
Tim-Philipp Müller 7f8adea477 videoparsers: fix LIBS order in Makefile.am 2011-12-08 22:49:50 +00:00
Vincent Penquerc'h 09f0860a10 mpegtsdemux: only offset timestamps when live
This code is to sync to a live source when there is a delay
between start and when we receive the first buffer, so it does
not make sense in a non live case.

This fixes playback of streams where the input timestamps are
based off some arbitrary offset.

https://bugzilla.gnome.org/show_bug.cgi?id=663756
2011-12-08 12:46:20 +00:00
Sebastian Dröge dcf04269e1 autoconvert: Remove the initial-identity property from autoconvert
Initially creating an identity element to forward serialized
events downstream before any caps are known is broken behaviour.

Serialized events should only be forwarded downstream if the
caps are already known, otherwise autopluggers and other elements
using pad-blocks will fail.

This behaviour also doesn't work anymore after basetransform
was fixed to queue serialized events until the caps are known
as a result of fixing bug #659571.

See bug #599469, #665205.
2011-12-07 13:50:19 +01:00
Thibault Saunier 6b3a314d36 videoparsers: Do not not skip startcode when needed
Fix: https://bugzilla.gnome.org/show_bug.cgi?id=665631
2011-12-06 17:05:52 -03:00
Alessandro Decina a1305b949c h264parse: handle force key unit events
Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.
2011-12-06 13:16:29 +01:00
Edward Hervey 1c50dab50c h264parse: Use faster parsing variant when input is packetized
Reduces latency and cpu usage

https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:04:17 +01:00
Mark Nauwelaerts 9604342af3 h264parse: reflow slice nal processing 2011-12-05 13:11:39 +01:00
Mark Nauwelaerts ef24518b60 h264parse: optimize slice nal processing
Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.

Fixes #665418.
2011-12-05 13:11:04 +01:00
Sebastian Dröge 2cdb069b9f autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad 2011-12-05 08:57:29 +01:00
Alessandro Decina 4474db4e71 h264parse: let upstream PAR override in-stream PAR 2011-12-01 09:07:18 +01:00
Alessandro Decina 21b063a78c h264parse: rework PAR parsing
And in the process refactor _update_src_caps a bit
2011-12-01 09:06:56 +01:00
Luciana Fujii Pontello 6d85d4882a h264parse: respect pixel-aspect-ratio
Parse pixel-aspect-ratio in vui information.
2011-12-01 08:23:22 +01:00
Stefan Sauer 467fd98e5b spacespace: whitespace cleanups 2011-11-30 22:12:27 +01:00
Stefan Sauer 4a40bd5936 wavescape: also add colormodes like in spacescope 2011-11-30 22:11:40 +01:00
Stefan Sauer 00ac111477 audiovisualizer: update README 2011-11-30 15:13:04 +01:00
Stefan Sauer 11590ac0b6 spacescope: add color-modes
In colormode we split the signal in low,mid,high frequency parts and draw them
separately into red, gree, blue color channels.
2011-11-30 15:11:50 +01:00
Stefan Sauer 52d185f4ae audiovisualizers: streamline the line_aa code
Have a reusable dot_aa code and reuse in the line drawing.
2011-11-30 15:11:50 +01:00
Tim-Philipp Müller 65e8564343 mpegtsmux: fix build in uninstalled setup
Add -base libs includes to CFLAGS, fix order of LIBS.
2011-11-30 10:35:12 +00:00
Alessandro Decina 777c1f034f mpegtsmux: add support for force key unit events
Handle force key unit events outputting PAT and PMT when all_headers=TRUE
2011-11-30 08:56:48 +01:00
Alexey Fisher 2099a39459 mpegpsdemux: recalculate adjust if difference is negative
One of my dvds jump on some position and miss about 1 minute of stream.
The reason was mpeg timestamps. On some position scr difference is negative.
It produced negative timestamps. Since it was converted to unsigned value,
gstreamer timestamps was invalid. Instead of increasing mpeg ts,
they was decreasing till it started to be positive.

The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.

This patch just make diff unsigned to avoid negative values.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>

https://bugzilla.gnome.org/show_bug.cgi?id=656115
2011-11-29 11:35:11 +00:00
Thibault Saunier e1bacb4813 codecparser: mpeg4: Look for resync code in _mpeg4_parse
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier 5555b5fa9d mpeg4videoparse: Properly handle profile and level in caps
Fix #660234
2011-11-28 21:25:34 -03:00
Thibault Saunier 48ad76e538 mpeg4videoparse: Port to the new mpeg4parser library 2011-11-28 21:25:34 -03:00
Thibault Saunier db4d4979ab mpeg4videoparse: Move to the videoparsers plugin
Rename a few variables to use the same convention as others elements in this
plugin

Conflicts:

	gst/videoparsers/gstmpeg4videoparse.c
2011-11-28 21:25:34 -03:00
Tim-Philipp Müller f585848d4b Merge remote-tracking branch 'origin/master' into 0.11 2011-11-28 23:20:58 +00:00
Thiago Santos 9364d13c02 camerabin2: viewfinderbin: use faster cast macro
Use cast macro without type checks when we know it should work.
2011-11-28 18:48:52 -03:00
Thiago Santos b5f97fd033 camerabin2: viewfinderbin: Link elements directly to use faster version
ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.
2011-11-28 18:48:52 -03:00
Thiago Santos f6d47a4206 camerabin2: micro optimize linking some more 2011-11-28 18:48:51 -03:00
Vincent Penquerc'h 4735a7554b mpeg4videoparse: fix number of bytes read for fixed time increment
The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...

https://bugzilla.gnome.org/show_bug.cgi?id=654666
2011-11-28 15:22:56 +00:00
Vincent Penquerc'h f1a4791f74 mpegdemux: Try to add all streams early
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
2011-11-28 15:10:47 +00:00
Vincent Penquerc'h fb66b3c2ac mpegtsdemux: handle pads with no data
Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.

https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:13 +00:00
Vincent Penquerc'h f909c57546 mpegtsdemux: signal no-more-pads when appropriate
We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.

https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:06 +00:00
Vincent Penquerc'h 9715fc3189 mpegdemux: take into account offset of first buffer
This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.

https://bugzilla.gnome.org/show_bug.cgi?id=657794
2011-11-28 14:01:43 +00:00
Vincent Penquerc'h 918d2e710f mpegdemux: fix some more video freezing
There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.

Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.

Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S

https://bugzilla.gnome.org/show_bug.cgi?id=655804
2011-11-28 13:57:42 +00:00
Vincent Penquerc'h 7960280afb mpegdemux: catch smaller PTS dicontinuities
In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.

This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".

Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.

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

Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.
2011-11-28 13:57:29 +00:00
Vincent Penquerc'h 7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Matej Knopp f949930621 videoparsers: fix format warnings
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-28 00:04:16 +00:00
Tim-Philipp Müller 025ce3e6ca Merge remote-tracking branch 'origin/master' into 0.11 2011-11-27 23:33:45 +00:00
Tim-Philipp Müller 98b9d602c1 aiffparse: extract ID3 tags embedded in ID3 chunks
https://bugzilla.gnome.org/show_bug.cgi?id=664725
2011-11-27 23:19:49 +00:00
Edward Hervey b78b980d72 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/faac/gstfaac.c
	ext/opus/gstopusdec.c
	ext/opus/gstopusenc.c
	gst/audiovisualizers/gstspacescope.c
	gst/colorspace/colorspace.c
2011-11-25 12:48:58 +01:00
Stefan Sauer c61f85da82 audiovisualizers: add aa-line code and user for wave/space-scope 2011-11-24 19:04:17 +01:00
René Stadler e6df0b672f videoparsers: port to 0.11
Unit tests missing for now.
2011-11-24 12:08:55 +01:00
Vincent Penquerc'h 1d0f770545 colorspace: fix width/height mismatches
https://bugzilla.gnome.org/show_bug.cgi?id=663238
2011-11-24 10:49:16 +01:00
Sebastian Dröge ca6ae54d5f mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones 2011-11-24 10:26:25 +01:00
Sebastian Dröge dc2c61faf5 mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:14:06 +01:00
Sebastian Dröge 61fad46dca h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:09:59 +01:00
Sebastian Dröge b10c1f277f diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:08:27 +01:00
Sebastian Dröge e7cd086970 mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:05:30 +01:00
Tim-Philipp Müller bd92bc966f sdpdemux: update for gstrtpbin -> rtpbin renaming 2011-11-24 00:56:45 +00:00
Matej Knopp 9d0bdcf6d7 Fix printf format compiler warnings on OS X / 64 bit
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-23 23:43:15 +00:00
Tim-Philipp Müller da43e59aab smooth: fix printf format compiler warning in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=664631
2011-11-23 16:03:15 +00:00
René Stadler 461f1971dd frei0r: normalize boolean property default values to TRUE/FALSE
Glib barks at us with a warning when we pass e.g. 4.
2011-11-23 12:43:48 +01:00
Stefan Sauer 03f1f0214e audiovisualizers: update README and TODO comments 2011-11-23 11:31:44 +01:00
Stefan Sauer 3ba8b3c0ad spacescope: use the drawhelpers and add a draw-style property
Like in wavescope support drawing dots and lines.
2011-11-23 11:21:15 +01:00
Wim Taymans 0a9387c43c Merge branch 'master' into 0.11
Conflicts:
	ext/opus/gstopusdec.c
	ext/opus/gstopusenc.c
	ext/opus/gstopusparse.c
	gst/audiovisualizers/gstwavescope.c
	gst/filter/Makefile.am
	gst/filter/gstfilter.c
	gst/filter/gstiir.c
	gst/playondemand/gstplayondemand.c
2011-11-23 11:08:39 +01:00
Stefan Sauer e3d1a50c0d audiovisualizers: add some simple drawing helpers for reuse
Add a (uninstalled) header with simple drawing macros
2011-11-23 08:42:01 +01:00
Stefan Sauer b9c9540735 smoothwave: remove element unported from 0.8
The wavescope element does achieve the same effect.
2011-11-23 08:42:01 +01:00
Stefan Sauer 85aba22118 wavescope: add a style property for drawing modes
Add a style enum of { dots, lines}. Now this elements is a superset of smoothwave.
2011-11-23 08:42:01 +01:00
Sebastian Pölsterl 9759d66407 mpegtsparse: support more character set encodings
Support UTF-16BE, EUC-KR (KSX1001), GB2312 and ISO-10646/UTF8 text
encoding and fixed new line for multibyte encoding

https://bugzilla.gnome.org/show_bug.cgi?id=664257
2011-11-22 11:35:00 +00:00
Stefan Sauer aa4b5b3bf5 playondemand: remove unported plugin from 0.8
These days one would do the effect e.g. using gnonlin.
2011-11-22 09:11:35 +01:00
Stefan Sauer bae725ed1f speed: tiny doc blob clarification 2011-11-22 09:10:57 +01:00
Stefan Sauer bf7c118c3c freeverb: add a freeverb port
Freeverb is a public domain reverb implementation. Port it as a gstreamer
element and make use of gstreamer specific features (gap aware, disconts,
controller, ...).
2011-11-22 09:10:57 +01:00
Wim Taymans e813abf631 update for activation changes 2011-11-21 13:37:20 +01:00
Stefan Sauer 143bcd974b smooth: port to 0.10
Port from GstElement to GstVideoFilter. Fix FIXMEs. Cleanup naming. Expose left
out property (kuma-only).
2011-11-21 08:27:19 +01:00
Stefan Sauer cc210b8ff6 passthrough: remove obsolete element
It is not built by default. We have identity for some of the needs and otherwise
audio/videofilter base classes.
2011-11-20 20:16:03 +01:00
Stefan Sauer 931f7b2c59 filter: remove filter plugin
We don't build it anyway and we have audioiirfilter in good.
2011-11-20 20:10:49 +01:00
Stefan Sauer d1578f042a inter: fix leftover boilerplace comments 2011-11-20 20:10:49 +01:00
Thiago Santos 524c478fa1 camerabin2: Also reset video/audio filters before capturing
Video and audio custom filter element should also be reset before
starting a new capture, otherwise we get wrong-state errors
2011-11-19 16:22:29 -03:00
Wim Taymans 567032b5f5 update for new scheduling query 2011-11-18 17:59:47 +01:00
Mark Nauwelaerts 1f3b4ad574 h264parse: remove redundant code
... now that what should not be needed is really not needed anymore to cover
up bogus stuff that has been FIXMEd.
2011-11-18 17:20:10 +01:00
Mark Nauwelaerts 7fae33a661 h264parse: fix up AU collection processing
On the one hand, no need to collect nal if processing last one.
On the other hand, ensure AU collection processing to have sufficient
next NAL data in normal cases.

Fixes #663180.
2011-11-18 17:20:08 +01:00
Mark Nauwelaerts 66543b3dd9 h264parse: mind to-be-skipped data in subsequent re-used offsets 2011-11-18 17:20:06 +01:00
Mark Nauwelaerts e12044c359 h264parse: avoid additional NAL parsing if no AU collection is needed 2011-11-18 17:20:03 +01:00
Mark Nauwelaerts 9db239e1ec h264parse: some more get_caps tweaking
... by having it use sink template rather than src template, and not
passing an downstream parsed(=true) to upstream.
2011-11-18 17:20:00 +01:00
Wim Taymans b948769e6e add parent to activate functions 2011-11-18 13:58:41 +01:00
Wim Taymans bc6ed0bf97 Merge branch 'master' into 0.11
Conflicts:
	ext/celt/gstceltdec.c
	ext/opus/gstopusdec.c
	ext/opus/gstopusdec.h
	ext/opus/gstopusenc.c
	ext/opus/gstopusenc.h
	ext/opus/gstopusparse.c
2011-11-17 17:32:42 +01:00
Wim Taymans 940de5b195 add parent to pad functions 2011-11-17 15:53:42 +01:00
Stefan Sauer d2f2955f18 collectpads: port API changes 2011-11-17 08:53:23 +01:00
Sebastian Dröge d746cd7d67 mpeg4videoparse: Change rank to PRIMARY+1 2011-11-16 10:57:55 -08:00
Sebastian Dröge ec089662de mpeg4videoparse: Don't require parsed=false on the sinkpad caps 2011-11-16 10:57:24 -08:00
Sebastian Dröge f3f9e4b978 h264parse: Implement ::sink_get_caps to allow stream-format conversion again
Just proxying the downstream caps will prevent h264parse from
accepting a different stream-format than what is supported
downstream, although it could convert to a different stream-format.
2011-11-16 10:39:40 -08:00
Wim Taymans 6d92ecac75 add parent to query function 2011-11-16 17:30:38 +01:00
Edward Hervey e500ec524c tsdemux: Add notes on synchronization and scheduling 2011-11-16 12:47:58 +01:00
Wim Taymans 37e081fc61 update for renamed flags
Use the _check_reconfigure method instead of checking flags.
2011-11-16 12:42:24 +01:00
Jonas Larsson 5099ff23af h264parse: outgoing byte stream prefix always has size 4
Fixes #664123.
2011-11-16 10:57:30 +01:00
Wim Taymans 85afc77dea _query_peer_*() -> _peer_query_*() 2011-11-15 17:55:50 +01:00
Wim Taymans 5231ae7252 _peer_get_caps() -> _peer_query_caps() 2011-11-15 17:24:07 +01:00
Wim Taymans 03713e5045 change getcaps to query 2011-11-15 16:34:13 +01:00
David King 92f07e3898 camerabin: Document requirement for PLAYING state
As described in GNOME bug 663998, the element must be in the PLAYING
state before calling capture-start.

https://bugzilla.gnome.org/show_bug.cgi?id=664048
2011-11-14 23:28:29 -03:00
Thiago Santos 1d5b324e7d camerabin2: Also reset audio elements when video capture finishes
Audio elements also need to be reset after each capture, do it
together with the video elements' reset
2011-11-14 17:48:52 -03:00
Thiago Santos aab3a73ccd camerabin2: Add one debug line about camerabin2 being idle 2011-11-14 13:06:29 -03:00
Thiago Santos 54351a0129 camerabin2: Remove video elements' state clearing from start-capture
Reduce start-capture workload by moving the elements' state reseting to the
finishing steps of the capture. This reduces the time start-capture takes to
actually start a capture and return to its caller, improving user experience.

As the elements' state reset is now triggered from the message handling
function, it needs to spawn a new thread, changing state from the pad's
task would cause a deadlock.
2011-11-14 13:06:29 -03:00
Thiago Santos c635e4bc3b camerabin2: keep track of video recording state
Adds a new variable to keep track of the state of the video
recording in camerabin2. This allows start-capture to reject
new video recording requests when one is already ongoing. This
fixes one of check tests.
2011-11-14 13:06:28 -03:00
Tim-Philipp Müller 357d7bdfed Update for GstURIHandler get_protocols() changes 2011-11-13 23:55:56 +00:00
Wim Taymans d3f42035fe Merge branch 'master' into 0.11 2011-11-11 10:39:17 +01:00
Matej Knopp a08b3bfa23 mpegvideoparse: add support for progressive frames
https://bugzilla.gnome.org/show_bug.cgi?id=663782
2011-11-10 19:58:13 -03:00
Stefan Sauer f8abc7e734 audiovisualizer: port to 0.11 2011-11-10 23:20:32 +02:00
Wim Taymans 59b4bcd27e Merge branch 'master' into 0.11 2011-11-10 12:14:19 +01:00
Wim Taymans 8546951222 chain up in set_clock 2011-11-10 12:11:21 +01:00
Thiago Santos c7db5db632 camerabin2: protect image location list with mutex
Rename the image taglists' mutex into image capture mutex and
use it also for the image capture list to prevent concurrent
access from different threads (application and capture threads).
2011-11-09 12:30:58 -03:00
Thiago Santos 27e01e02a4 camerabin2: Handle null taglists for images
Add NULL and check for them to the image capture taglist list, representing
that a capture has no application tags set.
2011-11-09 12:30:58 -03:00
Thiago Santos 9ab6406f23 camerabin2: Don't store preview location if preview isn't requested
Do not store preview location is post-previews is false, this would
mess up preview naming in case application switches between enabling
and disabling previews
2011-11-09 12:30:33 -03:00
Lasse Laukkanen 5ca3c9477e camerabin2: Avoid blocking in start-capture and send application tags later
Tags are currently sent from start-capture, which is run in the
application thread. For images we can delay the tags pushing to the
buffer probe and push the tags with the location event and reduce
start-capture time.
2011-11-09 11:45:55 -03:00
Wim Taymans dbdaa23742 Merge branch 'master' into 0.11
Conflicts:
	gst/colorspace/colorspace.c
2011-11-09 12:19:04 +01:00
Thijs Vermeir 8529526c54 dtmf: fix compiler warning for uninitialized values 2011-11-09 11:56:07 +01:00
Wim Taymans 0d0444e0fa remove query types 2011-11-09 11:55:14 +01:00
Olivier Crête d937da4c0c dtmfsrc: Reject start/stop requests that come out of order 2011-11-08 17:45:48 -05:00
Olivier Crête d15d524fec dtmf: Post messages when starting to send/receive DTMF
This way, the UI can display the DTMF events as they as being sent.
2011-11-08 17:45:48 -05:00
Thiago Santos 74df06d8c6 camerabin2: Decrement processing counter when message handling finishes
Some messages might be interesting to applications, so we can only
decrement the processing counter and send the idle notification
when those messages are posted on the pipline's bus
2011-11-08 08:13:20 -03:00
Lasse Laukkanen ad1ddaf53a camerabin2: change post-previews property default value as false
Generating and posting preview image always comes with a performance
penalty so set default value as false. The preview-caps property that
defines the preview image format is also NULL by default, so instead
of generating preview image of unspecified format by default explicit
action from application should be required for enabling preview image
posting feature.

Application also has to add custom code to be able
to handle preview messages on its message handling function anyway.
2011-11-08 07:09:41 -03:00
Vincent Penquerc'h d0443cfb65 colorspace: fix r210 writing only half a scanline
https://bugzilla.gnome.org/show_bug.cgi?id=663203
2011-11-07 17:15:14 +00:00
Vincent Penquerc'h 0ff703b520 adpcm: add more consts, espcially for static const data 2011-11-07 16:41:42 +00:00
Vincent Penquerc'h 9674c5aefa autoconvert: merge caps instead of using union
It's a lot faster, and preserves caps ordering.

https://bugzilla.gnome.org/show_bug.cgi?id=663346
2011-11-07 12:16:37 +00:00
Vincent Penquerc'h 4275a70cb5 mpegdemux: catch section lengths extending past the buffer length
This is probably the cause for an occasional crash while streaming
MPEG. Blind fix after staring at the code and following logic, so
may or may not fix the issue, I cannot test.
2011-11-07 11:59:12 +00:00
Vincent Penquerc'h b3d751667d mpegpsdemux: fix zero length packet handling
https://bugzilla.gnome.org/show_bug.cgi?id=631416
2011-11-07 11:17:00 +00:00
Wim Taymans 62544179e2 Merge branch 'master' into 0.11 2011-11-07 10:02:00 +01:00
Reynaldo H. Verdejo Pinochet 506f97a975 Fix missing sources on bayer's buildsystem androgenizer call 2011-11-04 18:06:51 -03:00
Stefan Sauer 9f73890892 controller: port to new controller location and api 2011-11-04 20:14:01 +01:00
Wim Taymans 8ec6da7797 more template fixes 2011-11-04 16:41:44 +01:00
Wim Taymans eaad7e58b0 more template fixes 2011-11-04 12:31:19 +01:00
Wim Taymans c8adc4f8c8 make request pads take _%u 2011-11-04 12:22:37 +01:00
Wim Taymans ac27b5bcc8 tag: update for tag API removal 2011-11-02 12:10:03 +01:00
Wim Taymans 769a9791a4 Merge branch 'master' into 0.11 2011-11-02 10:31:24 +01:00
Wim Taymans 17a982fe31 structure: fix for api update 2011-11-02 09:08:23 +01:00
Wim Taymans e14fbcc070 caps: update for new API 2011-11-02 09:08:23 +01:00
Thiago Santos d4105d4b56 camerabin2: On capture error, skip previews
When the camera source fails to do some capture, skip the next
preview and decrement processing counter.
2011-11-01 11:49:17 -03:00
Lasse Laukkanen 37aa6a9c71 camerabin2: track also preview images with processing counter
Makes camerabin2 only signal that it is idle after all previews have
been generated, images are captured and saved, and videos have
been finished properly.
2011-11-01 11:49:17 -03:00
Tim-Philipp Müller 10d31a588d Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:45:25 +00:00
Robert Swain e3b7cb8899 fieldanalysis: Don't reset the context on DISCONT
On discont, the queue of frames was being cleared, but also the
context reset. We only need to clear the queue.
2011-10-31 18:20:32 +01:00
Tim-Philipp Müller c186b74296 kate, bayer, tsdemux: update for caps and taglist API changes 2011-10-31 14:51:01 +00:00
Wim Taymans 9ca3734e52 make elements compile again 2011-10-28 15:16:43 +02:00
Wim Taymans a54cf2ccac mpegtsdemux: fix compilation 2011-10-27 16:23:26 +02:00
Wim Taymans ce41348f78 Merge branch 'master' into 0.11 2011-10-27 16:13:56 +02:00
Stefan Sauer 69f8921e2c interfaces: clean up the use of iface and class/klass 2011-10-21 15:04:05 +02:00
Tim-Philipp Müller 4060056ce6 assrender, nuvdemux: unref buffers with gst_buffer_unref() 2011-10-18 14:41:48 +01:00
Wim Taymans effab293cb Merge branch 'master' into 0.11 2011-10-18 14:32:05 +02:00
Sreerenj Balachandran f8239ff692 h264parse: correct debug message and remove some dead code
See #661113.
2011-10-17 11:17:50 +02:00
Sreerenj Balachandran 0a478db7dd h264parse: correct parsing of "numberOfPictureParameterSets"
See #661113.
2011-10-17 11:17:47 +02:00
Edward Hervey d6d26e9f6e bayer2rgb: Fix pad template caps 2011-10-17 10:19:20 +02:00
Wim Taymans 4a3dbe3d42 y4m: port to 0.11 2011-10-16 17:41:45 +02:00
Wim Taymans 0806e5cbb9 bayer: port to 0.11 2011-10-16 16:28:58 +02:00
Wim Taymans 7f851794d6 Merge branch 'master' into 0.11 2011-10-16 15:28:31 +02:00
Edward Hervey 9712fe8a54 tsdemux: Use gst_buffer_join instead of bufferlists
This is *really* inefficient. We should track list of GstMemory
instead.
2011-10-13 16:57:31 +02:00
Edward Hervey a74c02bf23 tsdemux: Plug more leaks 2011-10-13 16:57:17 +02:00
Edward Hervey db0633918a mpegtsbase: Refactor scan loop
Avoids ending up leaking packets when we got one and res was different
from GST_FLOW_OK.

It also looks more comprehensible
2011-10-13 16:55:54 +02:00
Edward Hervey e4b7967c9d mpegtsbase: Don't leak upstream events 2011-10-13 16:55:40 +02:00
Edward Hervey 0c80f63c5b mpegtsbase: Refactor code to cope with g_hash_table_foreach_remove() 2011-10-13 16:55:05 +02:00
Edward Hervey 6abe2134bf tsdemux/tsparse: Port to 0.11
This is a naive port that somewhat works but is inefficient.
I need to rethink how to make the best out of GstMemory/GstBuffer
2011-10-12 18:06:16 +02:00
Thiago Santos 61a7e6bf38 camerabin2: Check before acessing preview location list
Only access the preview location if it exists, to avoid acessing
a NULL variable. If the preview location list doesn't exist, it is
likely because the source has posted a preview message after camerabin2
has been put to READY.
2011-10-12 12:19:13 -03:00
Thiago Santos e90e041e52 camerabin2: Add a mutex to avoid concurrent access of preview filename lists
The preview filename list is acessed whenever a new capture is started, when
camera-source posts a new preview message or on state changes. All of those can
occur simultaneously, so add a mutex to prevent concurrent access.
2011-10-11 23:13:00 -03:00
Thiago Santos 17a00123a4 camerabin: Reset audiosrc timestamping
Reset audiosrc's timestamping data by setting
it to NULL to reset the ringbuffer and then re-seting
the clock that camerabin might not redistribute
2011-10-11 18:48:07 -03:00
Thiago Santos 0f99118141 camerabin: Prevent audio source from providing clock
camerabin's audio source might be put to NULL during its
use, so the clock would be lost. Better not allow it to
provide a clock at all.
2011-10-11 16:27:07 -03:00
Wim Taymans 5de9be0fdd dvbsuboverlay: port to 0.11 2011-10-10 10:15:05 +02:00
Wim Taymans 11a7e26fd8 dvdspu: port to 0.11 2011-10-08 15:16:25 +02:00
Wim Taymans c16cc4698a Merge branch 'master' into 0.11 2011-10-08 11:17:11 +02:00
Wim Taymans 3267a38e37 dvdspu: beginning of port to 0.11 2011-10-06 17:56:35 +02:00