Commit graph

4730 commits

Author SHA1 Message Date
Edward Hervey
39cc29a7d2 mpegtspacketizer: clock fix and minor addition
* Don't take into account packets that arrived at the same time as
  previous ones for clock skew estimation
* Add convenience method for processing the next ts packet
2012-03-01 18:15:51 +01:00
Edward Hervey
c10fc17a1e Revert "mpegtsdemux: Not apply various time the same PMT to a program when repetead"
This reverts commit 8cb0e87f56.

mpegtspacketizer already checks if it's a new PMT or not
2012-03-01 18:15:51 +01:00
Edward Hervey
d920d9d64f tsdemux: Remove all seeking code
It was more than bogus
2012-03-01 18:15:51 +01:00
Xavier Queralt
b5004e058b hlsdemux: don't set the fetcher's location twice
Calling gst_element_make_from_uri already does it and filesrc
fails when using file protocol in a location
2012-02-29 09:52:39 +01:00
Guillaume Desmottes
ddfcfb5a7a Add missing GLIB_DISABLE_DEPRECATION_WARNINGS
Suppress warnings about deprecated threading and GValueArray
API, so git compiles with -Werror.

https://bugzilla.gnome.org/show_bug.cgi?id=670982
2012-02-28 22:55:34 +00:00
Xavier Queralt
5b0d2ce2b2 hlsdemux: don't fail for playlists smaller than fragments-cache
https://bugzilla.gnome.org/show_bug.cgi?id=670963
2012-02-28 12:29:03 +00:00
Thibault Saunier
5c2e6dc512 mpegtspacketizer: 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.

(Port of 4275a70cb5 from mpegdemux)
2012-02-27 09:57:45 -03:00
Thibault Saunier
58a210e3d3 mpegtspacketizer: 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

(Port of 9759d66407 from the mpegtsdemux
element)
2012-02-27 09:42:27 -03:00
Alessandro Decina
368534f117 adpcmdec: link to libgstbase 2012-02-26 20:43:32 +01:00
Thibault Saunier
336710d355 tsbase: Fix parsing of PSI table IDs
(Ported from mpegtsdemux d8fd874f52)
2012-02-24 19:08:40 -03:00
Thibault Saunier
f977d7e743 tsdemux: Avoid unlinkely leaks and segfault 2012-02-24 15:28:35 -03:00
Edward Hervey
b6d98aea5f tsdemux: Use new clock skew estimation for outgoing timestamps
Only used in live mode
2012-02-24 17:53:52 +01:00
Edward Hervey
e6ff2f7b83 tsdemux: Various code cleanup and dead code removal 2012-02-24 17:52:33 +01:00
Edward Hervey
4bc7cd04c1 mpegtspacketizer: Fix issues with skew code
* Always try to get a timestamp for the algorithm
* Remove dead variable
* Return proper default value
2012-02-24 17:47:38 +01:00
Wim Taymans
8743905721 dataurisrc: fix docs and unit test 2012-02-24 12:53:52 +01:00
Thibault Saunier
6a8d2c45f6 mpegtspacketizer: Estimate clock skew and retimestamps buffers more precisly
Apply the EPTLA algotithm to estimate clock skew.
Reusing code from  -good/gst/rtpmanager/rtpjitterbuffer.c
2012-02-24 10:57:09 +01:00
Thibault Saunier
48a699812b tsdemux: Clean up AAC caps mess 2012-02-24 10:57:05 +01:00
Thibault Saunier
dc8b6c678d tsdemux: Reindent gstmpegdesc.h 2012-02-24 10:57:02 +01:00
Thibault Saunier
67fd590e9a tsdemux: Support more DTS/AC3 descriptors 2012-02-24 10:56:58 +01:00
Edward Hervey
6ef0ae4ffe tsdemux: Remove useless finalize() 2012-02-24 10:56:14 +01:00
Mark Nauwelaerts
4c9ac0886a h264parse: consider nal_length_size when constructing codec_data
Fixes #670699.
2012-02-23 21:18:31 +01:00
Edward Hervey
8b73baeced tsdemux: Use incoming timestamps in live mode 2012-02-23 16:39:48 +01:00
Edward Hervey
8f433e1677 tsdemux: Report latency (700ms) 2012-02-23 16:39:48 +01:00
Edward Hervey
c492b00b69 mpegtsbase: Query whether upstream is live or not 2012-02-23 16:39:48 +01:00
Wim Taymans
470854b6e3 update for new memory api 2012-02-22 02:10:35 +01:00
David Schleef
342a04c9d2 colorspace: Fix v210 writing out of bounds 2012-02-20 20:11:13 -08:00
Matej Knopp
e4e0d3ce02 Fix compiler warnings 2012-02-20 16:20:55 +01:00
Wim Taymans
a9f5def9d1 Merge branch 'master' into 0.11
Conflicts:
	ext/opus/gstopusparse.c
	gst/colorspace/colorspace.c
2012-02-20 16:07:50 +01:00
Matej Knopp
232ef9cc39 dvdspu should forward video caps event 2012-02-20 16:03:24 +01:00
David Schleef
e0db2faa12 colorspace: clamp intermediates when dithering 2012-02-19 00:16:31 -08:00
Thibault Saunier
8cb0e87f56 mpegtsdemux: Not apply various time the same PMT to a program when repetead
Sometimes their are several times the same PMT applying to a same program in a stream,
tsdemux was totally baffled when this was happening, we now keep the one we
already applied so it works properly.
2012-02-17 12:19:20 -03:00
Thibault Saunier
adc947e127 tsdemux: fix glib deprecation 2012-02-17 12:19:20 -03:00
Wim Taymans
e4754d274b RELEASE 0.11.1 2012-02-17 11:05:37 +01:00
Wim Taymans
f08e247051 Merge branch 'master' into 0.11 2012-02-17 09:01:56 +01:00
Thiago Santos
39bad1d6ca wrappercamerabinsrc: Put source to null when resetting caps
It seems that v4l2src isn't happy when switching formats on ready
state, it works when putting it to NULL. Keep this workaround in
wrappercamerabinsrc while v4l2src isn't fixed.

Fixes #849832
2012-02-16 22:51:21 -03:00
Wim Taymans
2fca270f19 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/tsdemux.c
	gst/mve/gstmvedemux.c
2012-02-16 14:33:20 +01:00
Thiago Santos
2ce709cf4a wrappercamerabinsrc: Put source in NULL when it fails changing state
When source is being reset to change caps, check the return of
the state syncing function to avoid leaving the source in an
unconsistent state.
2012-02-16 01:30:23 -03:00
Tim-Philipp Müller
b3592ebda8 mve: don't return a boolean for a GstFlowReturn
fixes playback.
2012-02-16 00:30:05 +00:00
Thibault Saunier
1182dd0c1b tsdemux: Avoid throwing FLOW_ERROR on last PCR processing error
In the case of scanning last pcr, errors are not critical, so we keep
the stream flowing.
2012-02-15 15:48:44 -03:00
Thibault Saunier
cda0d3aed8 tsdemux: Add AAC latm support 2012-02-15 15:48:44 -03:00
Thibault Saunier
6094ec27b1 tsdemux: Minor refactoring/code cleaning
... add some debugging symbols in the mean time.
2012-02-15 15:48:44 -03:00
Mark Nauwelaerts
c7216162e4 h264parse: remove _chain hack
As we can now rely upon being passed upstream delineated data in
::handle_frame(), the latter can also parse avc formatted data
without having to intercept baseparse's chain function.

While this evidently requires 2 separate parsing paths, each can
be streamlined accordingly.
2012-02-15 17:15:10 +01:00
Mark Nauwelaerts
b8a78c6b37 videoparsers: adjust to standardized baseparse frame state tracking 2012-02-15 17:15:07 +01:00
Mark Nauwelaerts
ca5010cc4b Merge branch 'master' into 0.11 2012-02-15 17:14:34 +01:00
Mark Nauwelaerts
5cce89b048 h264parse: use proper NALU offset for config data insertion
... which has to be the position of the start code, which is almost always
but need not be 4 bytes.
2012-02-15 14:29:45 +01:00
Wim Taymans
52fce49459 h263parse: fix compilation 2012-02-15 13:39:29 +01:00
Wim Taymans
16810321ee videoparsers: don't leak event
Unref the event when we don't chain up to the parent
2012-02-15 13:02:06 +01:00
Wim Taymans
f9c99b4713 videoparsers: chain up to parent event handler
Chain up to the parent event handler to get the default behaviour instead of
returning FALSE.
2012-02-15 12:56:55 +01:00
Wim Taymans
eff7037447 Merge branch 'master' into 0.11 2012-02-14 11:19:04 +01:00
Mark Nauwelaerts
b10b9cf109 videoparsers: adjust to modified baseparse API 2012-02-13 18:44:01 +01:00
Mark Nauwelaerts
ea6a192b13 pcapparse: adjust to modified baseparse API 2012-02-13 18:42:53 +01:00
Mark Nauwelaerts
67a8e53aef h264parse: fixup merge 2012-02-13 18:42:53 +01:00
Jan Schmidt
debf4984df mpegtsmux: Trivial bug fix. Don't copy data from an uninited buffer. 2012-02-13 23:05:35 +11:00
Thomas Vander Stichele
bbbdbb536b multifdsink: refactored in -base 2012-02-12 22:59:52 +01:00
Wim Taymans
6c2f5814ef h264parse: report after merge 2012-02-10 16:52:46 +01:00
Wim Taymans
1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Mark Nauwelaerts
1cbd755a2c h264parse: unobfuscate frame parsing code 2012-02-10 14:52:03 +01:00
Wim Taymans
20ffe99cc7 h264parse: fix refcount error 2012-02-09 14:42:23 +01:00
Tim-Philipp Müller
8765068879 Remove legacyh264parse element
One h264 parser ought to be enough for anybody.

https://bugzilla.gnome.org/show_bug.cgi?id=648002
2012-02-08 20:09:39 +00:00
Wim Taymans
de1f89bf07 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:37:13 +01:00
Wim Taymans
667c84b59c audiovis: port to 0.11 some more 2012-02-07 12:02:49 +01:00
Thiago Santos
3b549c4dbd camerabin: prevent captures from being lost when switching resolutions
When switching capture caps, camerabin1 resets its state to ready
to force a new caps to be negotiated. This causes ongoing captures
to be aborted.

This commit adds a condition to wait for captures to finish before
going to ready state.
2012-02-06 10:48:32 -03:00
Thiago Santos
9bd40e92ce camerabin: Improve debug message about processing counter
Mention on the logs how many capture operations might have been
lost
2012-02-06 10:48:32 -03:00
Vincent Penquerc'h
ddff93320d rotate: angle is in radians already, do not scale it
Other plugins use radians, and the angle documentation says radians.

https://bugzilla.gnome.org/show_bug.cgi?id=669365
2012-02-04 22:07:54 +00:00
Vincent Penquerc'h
e84bbcbeab rotate: fix description string to match what the element does
https://bugzilla.gnome.org/show_bug.cgi?id=669365
2012-02-04 22:07:54 +00:00
Vincent Penquerc'h
2eef9828d6 mpegtsdemux: do not emit no-more-pads
Doing so may fix some things, but breaks others (new streams being
added in the future).

https://bugzilla.gnome.org/show_bug.cgi?id=665814
2012-02-03 17:37:16 +00:00
Mark Nauwelaerts
c36bb8b73d h264parse: decrease passthrough negotiation preference
Also ensure parsing fixed caps when negotiating rather than failing to
handle non-fixed list cases.

See #668471.
2012-02-03 11:27:32 +01:00
Tim-Philipp Müller
f8f4620451 build: fix CFLAGS order and LIBS order
_BAD_CFLAGS should always come first, then GST_PLUGINS_BASE_CFLAGS,
then GST_BASE_CFLAGS then GST_CFLAGS. Same for libs: first plugins
base libs, then GST_BASE_LIB then GST_LIBS.
2012-02-03 00:50:33 +00:00
Mark Nauwelaerts
bc0dd274ee debugutils: port to 0.11 2012-02-02 23:21:50 +01:00
Vincent Penquerc'h
0d1c9624ea mpegpsmux: include specific AAC stream-format in template caps
This elements seems to support raw and adts AAC.

https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Vincent Penquerc'h
2dec0950cf tsdemux: add explicit supported AAC stream-format in template caps
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Vincent Penquerc'h
27f21d31ac mpegtsmux: specify in template caps we only take raw/adts AAC format
This appears to be what this element supports.

https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Vincent Penquerc'h
5c8ca4e1d0 mpegdemux: include specific AAC stream-format types in template caps
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:01 +00:00
Tim-Philipp Müller
260e2e7427 build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 17:54:22 +00:00
Tim-Philipp Müller
b66e84040b adpcmdec: fix up for GstAudioDecoder API change 2012-02-01 17:06:11 +00:00
Mark Nauwelaerts
da89903f81 h264parse: disable optimized packetized processing for reverse playback
... as baseparse then provides whole chunks of data (as it should) at once
to be parsed, and so the assumptions used to optimize are no longer valid.

Fixes #667560.
2012-02-01 13:53:17 +01:00
Mark Nauwelaerts
283f97cb79 h264parse: also mind SEI position for config data insertion
Fixes #668627.
2012-02-01 13:53:15 +01:00
Mark Nauwelaerts
136f42974d h264parse: unbreak optimized packetized NALU collection processing
... in that it was so optimized it did not consider grouping NALU into AU
altogether.

Fixes #668627.
2012-02-01 13:53:13 +01:00
Rob Clark
521e8b199b videoparsers: set interlaced field in caps for mpeg2
https://bugzilla.gnome.org/show_bug.cgi?id=667218
2012-01-31 11:51:37 +00:00
Alessandro Decina
f547336fdc mpegtsmux: update after collectpads2 changes 2012-01-31 08:44:04 +01:00
Wim Taymans
3b74cca741 update for HEADER flag 2012-01-30 17:17:16 +01:00
Olivier Crête
70539e9c93 rtpmux: Unref non-forwarded events
Also, don't unref forwarded ones
2012-01-29 18:03:53 +00:00
Olivier Crête
3cccb06dc3 rtpmux: resync iterator on resync 2012-01-28 16:57:03 +00:00
Olivier Crête
b9fd586a61 rtpmux: Re-push sticky events on input pad change 2012-01-27 19:04:24 +01:00
Olivier Crête
83118f5d82 dtmf: Use new-style caps 2012-01-27 19:04:23 +01:00
Sebastian Dröge
2e0bc90903 mpegdemux: Don't leak the SCHEDULING query 2012-01-27 16:56:53 +01:00
Matej Knopp
7bcd991f93 Port mpegdemux to 0.11 2012-01-27 16:56:23 +01:00
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Thiago Santos
f4d6e03b9b camerabin: Add viewfinder colorspace conversion to default flags
This make the default settings more likely to work. If needed, one
can optimize by disabling conversions with the flags.
2012-01-27 07:37:56 -03:00
Thiago Santos
5edd64eec6 camerabin2: Removing solved TODO and fixing a typo 2012-01-27 07:37:55 -03:00
Mark Nauwelaerts
498e4df9d9 adpcmdec: port to 0.11 2012-01-26 23:28:28 +01:00
Mark Nauwelaerts
936bee00f4 adpcmenc: port to 0.11 2012-01-26 23:28:20 +01:00
Olivier Crête
7aead77649 autoconvert: port to 0.11 2012-01-25 18:04:55 +01:00
Olivier Crête
4878946130 bayer: Intersect transformed caps with filter 2012-01-25 18:04:55 +01:00
Olivier Crête
73d57f1848 rtpmux: Don't leak gvalue from iterator 2012-01-25 17:49:26 +01:00
Wim Taymans
bc1067ce4b more porting 2012-01-25 16:46:44 +01:00
Mark Nauwelaerts
9dc7571c75 port some more to new memory API 2012-01-25 16:22:09 +01:00
Wim Taymans
21073e98cf port to new memory API 2012-01-25 14:51:25 +01:00
Sebastian Dröge
a2a4300241 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/kate/gstkateenc.c
	gst/colorspace/colorspace.c
	gst/mpegvideoparse/mpegvideoparse.c
2012-01-25 13:22:43 +01:00
Alessandro Decina
8fb0beaf00 mpegpsdemux: limit the amount of scanning done on duration queries
Limit the amount of data scanned when looking for PTSes in duration queries as a
failsafe for kinda broken, potentially large files with sparse or no PTSes.
2012-01-25 13:06:46 +01:00
Alessandro Decina
0961e2f494 mpegpsdemux: don't scan for the last PTS if the first wasn't found 2012-01-25 13:06:45 +01:00
Olivier Crête
071c6e8f15 dtmf: port to 0.11 2012-01-25 11:55:13 +01:00
Olivier Crête
e1b7da5410 rtpvp8: port to 0.11 2012-01-25 11:54:54 +01:00
Olivier Crête
0829043b87 videomaxrate: Remove, videorate includes the same functionality now 2012-01-25 11:54:54 +01:00
Olivier Crête
e5ff5ee2db rtpmux: port to 0.11 2012-01-25 11:54:53 +01:00
Vincent Penquerc'h
cf74b0bc76 mpegtsdemux: fix frequent deadlock demuxing MPEG TS
A previous patch to add streams early to fix playback of
low bitrate streams causes frequent deadlock of a nature
I'm at loss how to fix.
I'm not certain whether it's a bug in decodebin2, or in
that mpegtsdemux patch.
Since it causes a major regression, let it be disabled for now.
2012-01-23 17:47:45 +00:00
Mark Nauwelaerts
d8fdd3485b mpegtsdemux: break out when stream identified 2012-01-23 14:22:18 +01:00
Mark Nauwelaerts
b00ed32c5a mpegtsdemux: avoid NULL manipulation if invalid input 2012-01-23 14:22:18 +01:00
Mark Nauwelaerts
f1810502a7 mpegdemux: avoid NULL manipulation if invalid input 2012-01-23 14:22:18 +01:00
Mark Nauwelaerts
552f991ba0 mpegdemux: avoid some unlikely leaks 2012-01-23 14:22:17 +01:00
Mark Nauwelaerts
c63be1402a mpegvideoparse: prevent some fall-through cases 2012-01-23 14:22:17 +01:00
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