Commit graph

4908 commits

Author SHA1 Message Date
Edward Hervey
fa4f487d8f tsmux: inline more code
With the previous commit, makes mpegtsmux 10 to 15% faster
2012-06-06 10:31:54 +02:00
Edward Hervey
e3a02ce49a mpegtsmux: Don't use g_list_first ()
Seriously ...
2012-06-06 10:31:48 +02:00
Mark Nauwelaerts
c195a015e1 mpegtsmux: also properly reset and free pad data 2012-06-06 10:31:43 +02:00
Mark Nauwelaerts
ec109c390f mpegtsmux: refactor init using _reset to cater for proper reuse 2012-06-06 10:31:39 +02:00
Mark Nauwelaerts
8cb22ffeaa mpegtsmux: header cleanups and clarifications 2012-06-06 10:31:34 +02:00
Mark Nauwelaerts
59627a3e5d mpegtsmux: tweak buffer handling
... for clarity and to avoid mixing _peek/_pop
2012-06-06 10:31:29 +02:00
Mark Nauwelaerts
30c782e062 mpegtsmux: misc code cleanups and refactoring 2012-06-06 10:31:24 +02:00
Mark Nauwelaerts
d97d49d237 mpegtsmux: avoid separate allocation for list of programs 2012-06-06 10:31:19 +02:00
Mark Nauwelaerts
281f48f66e mpegtsmux: rearrange define's 2012-06-06 10:31:14 +02:00
Mark Nauwelaerts
4d94e0fcf7 mpegtsmux: removed hacked event handling
Conflicts:

	gst/mpegtsmux/mpegtsmux.c

Reverted back to 0.10 state as it wasn't really ported
yet anyway.
2012-06-06 10:30:55 +02:00
Edward Hervey
e2576f0e86 mpegtsdemux: Also parse TOT (Time Offset Section)
It's the same as TDT, except with descriptors at the end
2012-06-05 10:54:27 +02:00
Edward Hervey
d9121c38ea mpegtsdemux: FIXME/Comment about issues/errors 2012-06-05 10:54:26 +02:00
Edward Hervey
9e117b83fc mpegtspacketizer: Fix leak 2012-06-05 10:54:26 +02:00
Edward Hervey
5f7ecaa0f1 mpegtspacketizer: Reduce usage of GstAdapter
Peek as much as possible in one go. Ideally we should remove usage of
adapter altogether, but for the time being it provides a big enough
speedup (around 2 times faster per packet processed).
2012-06-05 10:54:26 +02:00
Edward Hervey
f0867c7247 mpegtspacketizer: Avoid alloc/free where possible
Helps for streams with a lot of sections, like EIT
2012-06-05 10:54:26 +02:00
Edward Hervey
aab8c46f10 mpegtbase: Add more sections that don't have a CRC 2012-06-05 10:54:26 +02:00
Edward Hervey
25f6c78d79 mpegdefs: Add list of known table_id
Along with the specifications from which they come. Avoids having
to search for which spec a table_id belongs to
2012-06-05 10:54:26 +02:00
Edward Hervey
0e86e68c6a mpegtspacketizer: Clarify debug statements
Use hex values in more cases (since that's how PID/table_id/... are
represented in the various specs).
2012-06-05 10:54:26 +02:00
Edward Hervey
63f8b970af mpegtsbase/packetizer: Add CAT section handling
Allows reporting the global EMM
2012-06-05 10:54:25 +02:00
Edward Hervey
dfe6863387 mpegtbase: Add more debug in PSI handling
Allows us to identify which SI we don't handle
2012-06-05 10:47:49 +02:00
Edward Hervey
d47d1713d9 mpegtbase: Add more default known PSI table_id 2012-06-05 10:47:49 +02:00
Edward Hervey
9924c178c8 mpegtbase: Refactor PSI detection 2012-06-05 10:47:49 +02:00
Sebastian Dröge
7c6093357b videoparsers: Fix GstBaseParse::get_sink_caps() implementations
They should take the filter caps into account and always return
the template caps appended to the actual caps. Otherwise the
parsers stop to accept unparsed streams where upstream does not
know about width, height, etc.

Fixes bug #677401.
2012-06-05 09:30:00 +02:00
Edward Hervey
9f7e70f754 mpegtbase: ECM/CA sections don't have a CRC
So don't check for it :)

Also add a bit more info in the warning message to speed up detecting
whether it's a false-positive or not.
2012-06-01 16:42:41 +02:00
Edward Hervey
8b2f229553 mpegdesc: Add more comments/info
Namely where they belong to
2012-05-26 15:54:51 +02:00
Edward Hervey
8aa64c5d7d tsdemux: Make sure we have a language code before using it 2012-05-26 15:54:48 +02:00
Edward Hervey
7784c0d350 mpegtsbase: Check before getting descriptors from structure
Avoids spurious warnings. Not having those descriptors is nothing
fatal, so check their presence before trying to get them.
2012-05-26 15:54:44 +02:00
Edward Hervey
b6732a27d3 pesparse: Be a bit more permissive with PTS/DTS parsing
According to the specifications a PTS_DTS_flags value of 0x01 is forbidden.
... but there are some rare files out there that do that.

Instead of erroring out, let's warn, carry on parsing accordingly.

If the packet is really corrupted there are enough checks afterward to
detect that.
2012-05-26 15:54:41 +02:00
Edward Hervey
12f24874aa mpegtsbase: Fix bit operation
"a % 8" corresponds to "a & 0x7" (and not 0xf).

spotted by Julian Scheel
2012-05-25 14:16:59 +02:00
Edward Hervey
a633347ed1 mpegtsbase: Speed up _is_psi()
By making it inline and simplifying the bit macros
2012-05-23 09:37:49 +02:00
Mark Nauwelaerts
c5664dcda7 mpegvideoparse: avoid scanning for start codes twice
... since a previous terminating start code serves as subsequent start code.
2012-05-22 21:34:10 +02:00
Julian Scheel
a0a184931a tsdemux: Add language code to taglist.
Read the language codes for tracks from the mpegts descriptors and add it into
the pads taglist.

https://bugzilla.gnome.org/show_bug.cgi?id=673896
2012-05-22 18:13:30 +02:00
Edward Hervey
6bf54ff850 tsdemux: Adapt to new packetizer API
We no longer use GstBufferList and instead copy the incoming data
into newly allocated memory.

This makes tsdemux behaviour 3 to 4 times faster.
2012-05-22 17:43:38 +02:00
Edward Hervey
7fdf1cb0c8 tsparse: Adapt to new packetizer API 2012-05-22 17:43:38 +02:00
Edward Hervey
3c73d29162 mpegtsbase: Adapt to new packetizer behaviour 2012-05-22 17:43:38 +02:00
Edward Hervey
c6035d403c mpegtspacketizer: Avoid usage of GstBuffer internally
The overhead of creating/using 188 byte GstBuffer from GstAdapter
is too expensive.
We now peek the next packet, and provide a data/size which is only
valid until the packetizerpacket is cleared.

In addition, cleanup all the internal code to deal with that new
behaviour and remove double-checks which are no longer needed.

The section_length is now the corrected section_length (i.e. with
the additional 3 bytes).

Avoid using gst_adapter_prev_timestamp and instead track
the timestamp ourself.
2012-05-22 17:43:38 +02:00
Edward Hervey
6d01f5f1b3 mpegtspacketizer: Detect PCR wraparound in skew code
If the received PCR is going backwards (by a safe margin), include
that wraparound for further calculation.

https://bugzilla.gnome.org/show_bug.cgi?id=674536
2012-05-22 16:51:25 +02:00
Mark Nauwelaerts
09209045b6 videoparsers: avoid repeated caps setting 2012-05-22 14:49:18 +02:00
Mark Nauwelaerts
28f3858b94 mpegvideoparse: tweak codec parser API and adjust parser element
... to allow for more efficient parsing and (more) consistent parsing API
among various codec parsers.

Fixes #672701.

Conflicts:

	gst/videoparsers/gstmpegvideoparse.c
2012-05-22 14:09:47 +02:00
Sebastian Dröge
b5f5b8bf04 frei0r: Double properties are supposed in the range [0.0, 1.0]
Fixes bug #676137.
2012-05-22 11:20:06 +02:00
Mark Nauwelaerts
1f0c18daf2 mpegvideoparse: unobfuscate frame parsing
... and add comments and debug statements.

Fixes #674202.

Conflicts:

	gst/videoparsers/gstmpegvideoparse.c
2012-05-21 20:31:27 +02:00
Mark Nauwelaerts
35a58df012 mpegvideoparse: Revert "fix crash"
This reverts commit 91210831ee672343a296f31357144359d5c2e768.

Such explicit reset should not be needed as it is arranged for by
the baseclass in unison with monitoring for a new frame by subclass.

As such it might wrongfully hide something else going on ...

See #674073.
2012-05-21 20:25:01 +02:00
Tim-Philipp Müller
508b9ff51a autoconvert: don't access GstElementFactory structure directly 2012-05-19 15:34:25 +01:00
Julian Scheel
5536bcf8b8 tsdemux: flush on pusi only for payload packets
Data should not be flushed out of the tsdemux because a payload unit start
indicator (pusi) is seen in a adaptation only ts packet. If the package contains no
payload a pusi does not indicate a new PES packet, but PSI information, etc.
This fixes playback of several TS files which contain ts packets without
payload but with pusi set to 1.

https://bugzilla.gnome.org/show_bug.cgi?id=676168
2012-05-18 11:12:20 +02:00
Edward Hervey
e75612c3fd tsdemux: Don't queue data for streams that don't have a pad
This would result in an error further down, and it also avoids processing
for that data which we wouldn't be using anyway.
2012-05-18 11:11:37 +02:00
Edward Hervey
8a4fd8358d tsdemux: Detect and handle scrambled packets
Users (tsdemux/mpegtsparse) can decide what to do with that
2012-05-18 11:11:31 +02:00
Edward Hervey
fa4b92e743 tsdemux: Emit no-more-pads when all pads are activated
Fixes #670921 again
2012-05-18 11:11:25 +02:00
Luis de Bethencourt
94f370c7d7 gaudieffects: add fallback code for orc
this includes an improved version of the burn filter, with a ~40% speed
improvement.
2012-05-17 11:15:22 +01:00
Luis de Bethencourt
e044e0fab4 gaudieffects: use CLAMP in solarize
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Luis de Bethencourt
9cb4f4e622 gaudieffects: use CLAMP in exclusion
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Luis de Bethencourt
4990dc2d1f gaudieffects: use CLAMP in dodge
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Luis de Bethencourt
cb3d1794f8 gaudieffects: use CLAMP in chromium
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Mark Nauwelaerts
7f72b99426 h264parse: also consider nal_length_size when inserting codec data
See #676174.
2012-05-17 11:47:19 +02:00
John Hein
6e78920416 y4m: link against the right libgstvideo
https://bugzilla.gnome.org/show_bug.cgi?id=676189
2012-05-16 21:50:48 +01:00
Luis de Bethencourt
5800315447 gaudieffects: example pipelines with videoconvert 2012-05-16 17:56:58 +01:00
Luis de Bethencourt
ad4ffc446f gaudieffects: orc-ify burn filter 2012-05-16 17:56:58 +01:00
Stefan Sauer
5b39799cf0 hls: use gst api for timestamps instead of the (wrong) api from a too new glib
Conflicts:

	gst/hls/gstfragment.c
2012-05-15 16:08:00 +02:00
Mark Nauwelaerts
74c73eba05 mpegtsmux: optimize output by aggregating packets
... rather than pushing each (small) packet in a separate buffer.
m2ts mode not yet optimized though.
2012-05-14 11:52:29 +02:00
Albert Astrals Cid
dda551e723 mpegts: support items in extended event descriptor
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=672478
2012-05-14 11:51:15 +02:00
Luis de Bethencourt
e9cba00c6a gaudieffects: consistency in templates name 2012-05-10 21:37:59 +01:00
Thibault Saunier
52265cce1e hlsdemux: Add a connection-speed property
Conflicts:

	gst/hls/gsthlsdemux.c
2012-05-10 14:17:57 -04:00
Thibault Saunier
a8afa9755e hls: Add a way to get best playlist for a specific bitrate in M3U8Client
Make use of it in hlsdemux
2012-05-10 14:08:11 -04:00
Youness Alaoui
594d983ff9 hlsdemux: Add failover protection.
Multiple streams with same bandwidth get retried
2012-05-10 14:07:54 -04:00
Youness Alaoui
705a52a1ac hlsdemux: Calculate the real bitrate and switch to the correct variant
We now calculate the actual bitrate using the download speed/size and
then switch directly to the variant that matches our bandwidth the
most.
It will also be able to handle any use case where some of the
variants are not available, and would skip them and go to the next
possible variant.

Conflicts:

	gst/hls/gsthlsdemux.c
2012-05-10 14:06:44 -04:00
Youness Alaoui
bfd7a52c5d hlsdemux: Do not reset the sequence number in a live stream for a normal playlist update.
Only for stream switching
2012-05-10 14:00:49 -04:00
Thibault Saunier
f7553b6b0d hlsdemux: If we update the playlist, make sure the sequence number is never more than 3 fragments before the end 2012-05-10 14:00:19 -04:00
Youness Alaoui
df958b4906 hlsdemux: In a live stream, do not start from 3 fragments before the end. 2012-05-10 13:59:46 -04:00
Youness Alaoui
3cc3e9ad1b hlsdemux: No need to store position since it's the buffer's timestamp
This also will fix the issue of having the current position different
from the actual position of the first buffer in the queue in case
the caching caused a resync of the sequence number.

Conflicts:

	gst/hls/gsthlsdemux.c
2012-05-10 13:38:57 -04:00
Youness Alaoui
87d10cf683 hlsdemux: Fallback to previous playlist when switching if the new playlist can't be fetched 2012-05-10 13:23:58 -04:00
Luis de Bethencourt
f805f9e079 gaudieffects: consistency fixes in gstgaussblur 2012-05-10 13:46:27 +01:00
Luis de Bethencourt
c7949405ca gaudieffects: port gaussianblur to GstVideoFilter 2012-05-10 10:47:27 +01:00
Luis de Bethencourt
bc3afe0ac2 gaudieffects: port solarize to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
ee60c2cf98 gaudieffects: port exclusion to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
2e1aa96113 gaudieffects: port dodge to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
e9ec32fee7 gaudieffects: port dilate to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
2eba32aef3 gaudieffects: port burn to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
ebad8a4dbc gaudieffects: port chromium to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
5a4b8d8937 gaudieffects: use GST_DEBUG_FUNCPTR in blur 2012-05-09 17:23:07 +01:00
Luis de Bethencourt
151b010bc9 gaudieffects: port gaussblur to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
f1220e95b5 gaudieffects: port solarize to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
9602a3513b gaudieffects: port exclusion to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
e78f5817e5 gaudieffects: port dodge to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
1471e804d8 gaudieffects: port dilate to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
6b5d5c6f24 gaudieffects: add header to gaussblur 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
3db482093d gaudieffects: port chromium to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
c123ac0735 gaudieffects: port burn to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
b2e3e417a5 controller: port to new controller location and api 2012-05-09 13:18:52 +01:00
Tim-Philipp Müller
9503daa56a rfbsrc: call WSAStartup/Cleanup on win32
If we link against libwinsock2, we should probably call
Startup/Cleanup as well.

https://bugzilla.gnome.org/show_bug.cgi?id=675415
2012-05-07 23:59:58 +01:00
Marc-André Lureau
2f20ec7312 rfbsrc: fix librfb linking on win32
libtool: link:  i686-w64-mingw32-gcc -shared .libs/libgstrfbsrc.dll.def
.libs/libgstrfbsrc_la-gstrfbsrc.o  -Wl,--whole-archive ./.libs/librfb.a
-Wl,--no-whole-archive  -L/usr/i686-w64-mingw32/sys-root/mingw/lib
-lgstbase-0.10 -lgstreamer-0.10 -lxml2 -lgobject-2.0 -lgthread-2.0
-lgmodule-2.0 -lglib-2.0 -lintl  -mms-bitfields -mms-bitfields -O2   -o
.libs/libgstrfbsrc.dll -Wl,--enable-auto-image-base -Xlinker
--out-implib -Xlinker .libs/libgstrfbsrc.dll.a
Creating library file: .libs/libgstrfbsrc.dll.a
./.libs/librfb.a(librfb_la-rfbdecoder.o): In function
`rfb_decoder_read':
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:164:
undefined reference to `_imp__recv@16'
./.libs/librfb.a(librfb_la-rfbdecoder.o): In function
`rfb_decoder_connect_tcp':
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:112:
undefined reference to `_imp__socket@12'
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:119:
undefined reference to `_imp__htons@4'
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:123:
undefined reference to `_imp__inet_addr@4'
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:125:
undefined reference to `_imp__connect@12'

It needs -lws2_32 which is already in $(WINSOCK2_LIBS)

https://bugzilla.gnome.org/show_bug.cgi?id=675415
2012-05-07 23:59:48 +01:00
Raimo Järvi
93ad7a4d06 Fix printf format compiler warnings on mingw-w64
https://bugzilla.gnome.org/show_bug.cgi?id=675520
2012-05-05 19:45:42 +01:00
Tim-Philipp Müller
b87f7345db Add WINSOCK2_LIBS, remove WIN32_LIBS, fix rtmp build on Windows some more
One way of passing -lws2_32 to plugins should be enough..
2012-05-05 18:20:33 +01:00
Thiago Santos
133c9ef6be camerabin: remove unnecessary code 2012-05-04 19:54:51 -03:00
Thiago Santos
acc48b7833 camerabin: improve image capture debug 2012-05-04 19:54:51 -03:00
Thiago Santos
95fd9cd277 camerabin: always force image-profile to have variable framerate
image-encodebin can't use videorate as it always store one buffer
to be able to do its timestamps/duration math. As image captures
only push one buffer at a time, this videorate behavior breaks
camerabin usage.
2012-05-04 19:50:52 -03:00
Youness Alaoui
d3303121c8 basecamerabin: Do not set the pad templates in the base class.
It is best to let the subclass define the pad templates, this would
allow the subclass to decide which caps the pads should have.
2012-05-04 19:50:52 -03:00
Thiago Santos
37bac4c1ed wrappercamerabinsrc: avoid assertion by using null caps as any
NULL caps aren't valid caps, use a reference to 'any' caps
2012-05-02 16:21:01 -03:00
Thiago Santos
cc09cd1303 camerabin: Fix get/set_property for encoding profiles
Encoding profiles are objects, not boxed types
2012-05-02 15:25:32 -03:00
Thiago Santos
b5ba142b06 camerabin: remove custom renegotiate event
In 1.0 there is a core reconfigure event, camerabin doesn't need
its custom renegotiate event anymore
2012-05-01 15:31:11 -03:00
Thiago Santos
b030923eb5 camerabin: Use plain video encoding profile for images
Do not use jpeg as a container format for image captures, use
the plain video encoding format. It was used as a container in
0.10 to force the addition of tags to the image.
2012-05-01 15:20:50 -03:00
Thiago Santos
ad9822dea7 wrappercamerabinsrc: change output-selector negotiation mode
In 0.10 camerabin2 controlled the negotiation strictly and the output-selector
wouldn't forward setcaps calls. In 0.11 the renegotiation events are already in
core and we can allow the pipeline to handle it without much control from camerabin
part (I hope), so this patch makes output-selector forward caps negotiation events
to the active pad.
2012-05-01 15:20:49 -03:00
Thiago Santos
4a4f06abcf wrappercamerabinsrc: removing renegotiate handlers
gstreamer 1.0 already has the reconfigure event, remove the
custom event handling from wrappercamerabinsrc
2012-05-01 15:20:49 -03:00
Thiago Santos
9cd0172581 wrappercamerabinsrc: prevent caps renegotiation loop
Only set the zoom capsfilter caps when the new caps are different,
preventing a caps renegotiation loop.
2012-05-01 15:20:49 -03:00
Thiago Santos
79d3cc533f camerabin: Replacing ffmpegcolorspace with videoconvert 2012-05-01 15:10:51 -03:00
Wim Taymans
7394deef33 tsbase: unref bad packets too
Conflicts:

	gst/mpegtsdemux/mpegtsbase.c
2012-05-01 11:50:39 +02:00
Wim Taymans
b56ab4b3cf tsdemux: reset the state of the stream when flushing
We need to reset the stream on a flush or else old packets could be added to the
list and leak.
2012-05-01 11:47:52 +02:00
Wim Taymans
eaf4d97815 mpegtsbase: don't push events upstream in pull mode
In pull mode, don't push the seek event upstream.
2012-05-01 11:43:07 +02:00
Wim Taymans
6bf0ebdcd8 mpegts: don't poke into private adapter fields 2012-05-01 09:41:18 +02:00
Tim-Philipp Müller
2f50ad435b camerabin2: rename to "camerabin"
But leave source code intact for now, for easier patch merging.
2012-04-30 17:56:17 +01:00
Tim-Philipp Müller
7d65470c4a Remove old camerabin 2012-04-30 17:44:34 +01:00
Gil Pedersen
da001be15a hlsdemux: start paused task on new data 2012-04-25 15:58:13 +02:00
Mark Nauwelaerts
4d1bd12ff8 coloreffects: port to 0.11 2012-04-24 17:01:21 +02:00
Sebastian Dröge
5d2b52697c dvb-sub: Use unchecked byte reader functions 2012-04-24 15:20:16 +02:00
Mark Nauwelaerts
07ddc9d8cd asfmux: use some more boilerplate 2012-04-23 17:11:38 +02:00
Mark Nauwelaerts
e79cae3002 asfmux: port to 0.11 2012-04-23 16:55:18 +02:00
Gil Pedersen
1fa5624762 hlsdemux: port to 0.11 2012-04-20 15:34:59 +02:00
Wim Taymans
8da3c2a969 mpegtsdemux: we ignore warnings differently
We suppress the warnings in the .c file instead.
2012-04-20 11:25:31 +02:00
Gil Pedersen
fcd8155d87 mpegtsdemux: port to 0.11
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674397
2012-04-20 11:25:31 +02:00
Wim Taymans
5bd76c7c97 mpegtsbase: clarify event ownership 2012-04-20 11:25:31 +02:00
Gil Pedersen
095a17ad03 mpegtsdemux: fix memory leaks
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674393
2012-04-20 11:25:31 +02:00
Sebastian Dröge
ad871224fc fieldanalysis: Does not need to link to libgstbasevideo at all
Conflicts:

	gst/fieldanalysis/Makefile.am
2012-04-20 11:18:20 +02:00
Sebastian Dröge
7ff3293a44 video: Update for libgstvideo API changes 2012-04-19 12:31:39 +02:00
Youness Alaoui
f1ec8fcb05 jpegparse: Do not set the duration to the input buffer's duration unless valid
This causes a bug where the first buffer has ts = 0, dur=X, the second buffer
has ts=X (because of ts += duration), dur=-1, then the following buffers
will start having a non valid timestamp.
The real duration is only calculated during the caps negociation when there
is a framerate available and the buffer's duration is invalid.
2012-04-18 15:41:57 -04:00
Julian Scheel
1059905237 tsdemux: Set currentlist to NULL after free.
This prevents double free of currentlist is some circumstances.
2012-04-18 09:30:22 +02:00
Youness Alaoui
2503e67ca9 jpegparse: Fix duration in buffers. It's frames per second, not seconds per frame 2012-04-17 21:23:30 -04:00
Mark Nauwelaerts
6578797245 collectpads2: rename to collectpads 2012-04-17 15:22:59 +02:00
Alessandro Decina
4251b25308 mpegtsmux: fix pad iterator leak 2012-04-16 08:53:12 +02:00
Alessandro Decina
34cf1a1bbc mpegtsmux: don't leak force key unit events 2012-04-16 08:53:06 +02:00
Matej Knopp
19f7bd470d mpegvideoparse: Parser fails to split some frames 2012-04-16 08:42:02 +02:00
Matej Knopp
23e312872e mpegvideoparse: Fix FPS and frame duration for telecine files 2012-04-16 08:42:02 +02:00
Matej Knopp
19ee94a8d1 mpegvideoparse: Do not update codec-data when only quantiser matrix changes 2012-04-16 08:42:02 +02:00
Tim-Philipp Müller
0def19d473 geometrictransform: don't link against libgstinterfaces which was removed
The GstNavigation interface is now in libgstvideo.
2012-04-14 15:29:15 +01:00
Matej Knopp
d487c9cd78 fix crash
last_sc is not reset every time a frame is being output, which can cause
last_sc > buf_size in subsequent frame.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674073
2012-04-14 10:43:21 +02:00
Thiago Santos
c13359f583 geometrictransform: use 1.0 videofilter baseclass functions
Port to the new functions of the videofilter class
2012-04-13 14:13:36 -03:00
Thiago Santos
d5f2feb8ec geometrictransform: port to 1.0
Straightforward port of geometrictransform plugin
2012-04-13 14:13:36 -03:00
Sebastian Dröge
c88cd9cefc Update for the removal of the interfaces library and the tuner/mixer interfaces 2012-04-13 13:15:39 +02:00
Sebastian Dröge
1ab0174c40 Release 0.11.90 2012-04-12 10:50:10 +02:00
Mark Nauwelaerts
07db2da91c Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst/h264parse/gsth264parse.c
	gst/videoparsers/gsth264parse.c
2012-04-06 14:52:12 +02:00
Mark Nauwelaerts
7cfdc7e912 h264parse: tweak default setting of format and alignment in codec_data case
... which should promote ending up in passthrough mode.
2012-04-06 14:36:44 +02:00
Mark Nauwelaerts
0882adc69f h264parse: do not use _unchecked bytewriter variants to insert config
.. since the bytewriter is explicitly created with non-fixed size to
allow (very much so expected) growth.

Partially reverts commit 20669d461a while
trying to keep (some?) compilers happy.

IIRC, the purpose of GstByteWriter in the first place was (at least)
being able to dump data without having to fuss with memory expansion
and size issues ...

Fixes #673485.
2012-04-06 14:35:56 +02:00
Thibault Saunier
513aa08bee Merge remote-tracking branch 'origin/0.10' 2012-04-05 17:15:11 -04:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Thibault Saunier
70056a37c4 hls: Some more debugging 2012-04-05 11:51:40 -04:00
Thibault Saunier
f9b0d59e84 hlsdemux: Replace the fetcher code with a GstURIDownloader object 2012-04-05 10:33:51 -04:00
Thibault Saunier
2415f9080d hls: Minor cleanup in GstUriDownloader 2012-04-05 10:33:51 -04:00
Andoni Morales Alastruey
71b9f57b63 hlsdemux: Factor out all the fetcher code in a GstURIDownloader class
This class is meant to be reusable by other components
2012-04-05 10:33:51 -04:00
Thibault Saunier
5e85aaf11d hls: Do not add reference to buffers passed in GstFragment
We just steal the reference to the buffer, which means we can keep writing metadatas
on the buffers.
2012-04-05 10:33:51 -04:00
Thibault Saunier
fdaa60c44f hls: Minor GstFragment cleanup 2012-04-05 10:15:13 -04:00
Andoni Morales Alastruey
501d42fa78 hls: Add a GstFragment class that represents a fragment in a m3u playlist 2012-04-05 10:15:12 -04:00
Thibault Saunier
fef060590f hls: Make the updates thread a GstTask 2012-04-05 10:15:12 -04:00
Alessandro Decina
f4b292f994 tsdemux: set correct newsegment fields on _TIME seeks
Forward the seek rate and set NS.start to the seek target so that decoders can
apply clipping where necessary.
2012-04-05 09:16:07 +02:00
Alessandro Decina
cd21a65031 rawparse: fix compile warning 2012-04-05 09:08:02 +02:00
Alessandro Decina
877e6d6a36 tsdemux: set correct newsegment fields on _TIME seeks
Forward the seek rate and set NS.start to the seek target so that decoders can
apply clipping where necessary.
2012-04-05 06:38:08 +02:00
Sebastian Dröge
1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Sebastian Dröge
4c0b7fd03b Merge remote-tracking branch 'origin/0.10' 2012-04-04 12:06:08 +02:00
Alessandro Decina
3b525d1147 tsdemux: reset iterator to NULL after it's free
Fixes possible invalid memory access in gst_ts_demux_stream_flush
2012-04-04 07:24:28 +02:00
Sebastian Dröge
bc07e44546 Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst/mpegtsdemux/tsdemux.c
2012-04-02 15:31:38 +02:00
Edward Hervey
6800d0c4e0 tsdemux: Clear bufferlist/iterator when removing streams 2012-04-02 15:26:28 +02:00
Edward Hervey
dd6550a663 mpegtspacketizer: Don't leak buffer in fast variant 2012-04-02 15:25:46 +02:00
Edward Hervey
cd728627af mpegtsbase: Don't leak corrupt section packet buffer 2012-04-02 15:25:16 +02:00
Wim Taymans
53e264d631 rtpmux: fix compilation 2012-04-02 11:07:18 +02:00
Edward Hervey
b8eeca8804 tsdemux: Fix several leaks
* dont' leak buffers when a stream is in discont state
* don't leak buffers when a program is removed/deactivated
* remove all programs when disposing
2012-04-02 08:03:57 +02:00
Edward Hervey
881350f34c tsdemux: Fix several leaks
* dont' leak buffers when a stream is in discont state
* don't leak buffers when a program is removed/deactivated
* remove all programs when disposing
2012-03-30 19:20:17 +02:00
Wim Taymans
48ba9063b0 update for buffer api change 2012-03-30 18:15:36 +02:00
Sebastian Dröge
c63fa9190b videoparsers: Update for baseparse API changes 2012-03-30 12:02:34 +02:00
Sebastian Dröge
a1c291ebb6 mpegtsdemux: Revert to 0.10 state as this is unmergeable, also put it into the non-ported plugins again 2012-03-29 17:55:09 +02:00
Sebastian Dröge
860ccd414d Merge remote-tracking branch 'origin/0.10'
Conflicts:
	NEWS
	RELEASE
	common
	configure.ac
	docs/libs/gst-plugins-bad-libs-sections.txt
	docs/plugins/gst-plugins-bad-plugins.args
	docs/plugins/gst-plugins-bad-plugins.hierarchy
	docs/plugins/gst-plugins-bad-plugins.interfaces
	docs/plugins/inspect/plugin-adpcmdec.xml
	docs/plugins/inspect/plugin-adpcmenc.xml
	docs/plugins/inspect/plugin-assrender.xml
	docs/plugins/inspect/plugin-audiovisualizers.xml
	docs/plugins/inspect/plugin-autoconvert.xml
	docs/plugins/inspect/plugin-bayer.xml
	docs/plugins/inspect/plugin-bz2.xml
	docs/plugins/inspect/plugin-camerabin2.xml
	docs/plugins/inspect/plugin-celt.xml
	docs/plugins/inspect/plugin-dataurisrc.xml
	docs/plugins/inspect/plugin-debugutilsbad.xml
	docs/plugins/inspect/plugin-dtmf.xml
	docs/plugins/inspect/plugin-dtsdec.xml
	docs/plugins/inspect/plugin-dvbsuboverlay.xml
	docs/plugins/inspect/plugin-dvdspu.xml
	docs/plugins/inspect/plugin-faac.xml
	docs/plugins/inspect/plugin-faad.xml
	docs/plugins/inspect/plugin-gsm.xml
	docs/plugins/inspect/plugin-h264parse.xml
	docs/plugins/inspect/plugin-mms.xml
	docs/plugins/inspect/plugin-modplug.xml
	docs/plugins/inspect/plugin-mpeg2enc.xml
	docs/plugins/inspect/plugin-mpegdemux2.xml
	docs/plugins/inspect/plugin-mpegtsdemux.xml
	docs/plugins/inspect/plugin-mpegvideoparse.xml
	docs/plugins/inspect/plugin-mplex.xml
	docs/plugins/inspect/plugin-pcapparse.xml
	docs/plugins/inspect/plugin-rawparse.xml
	docs/plugins/inspect/plugin-rtpmux.xml
	docs/plugins/inspect/plugin-rtpvp8.xml
	docs/plugins/inspect/plugin-scaletempo.xml
	docs/plugins/inspect/plugin-schro.xml
	docs/plugins/inspect/plugin-sdp.xml
	docs/plugins/inspect/plugin-segmentclip.xml
	docs/plugins/inspect/plugin-shm.xml
	docs/plugins/inspect/plugin-videomaxrate.xml
	docs/plugins/inspect/plugin-videoparsersbad.xml
	docs/plugins/inspect/plugin-vp8.xml
	docs/plugins/inspect/plugin-y4mdec.xml
	ext/celt/gstceltdec.c
	ext/dts/gstdtsdec.c
	ext/modplug/gstmodplug.cc
	ext/opus/gstopusenc.c
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
	gst-libs/gst/video/gstbasevideoencoder.c
	gst-libs/gst/video/gstbasevideoencoder.h
	gst/adpcmdec/Makefile.am
	gst/audiovisualizers/gstbaseaudiovisualizer.c
	gst/h264parse/gsth264parse.c
	gst/mpegdemux/mpegtsparse.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/mpegtsparse.c
	gst/mpegtsdemux/tsdemux.c
	gst/mpegtsdemux/tsdemux.h
	gst/mxf/mxfdemux.c
	gst/rawparse/gstaudioparse.c
	gst/videoparsers/gsth263parse.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	sys/decklink/gstdecklinksink.cpp
	sys/dvb/gstdvbsrc.c
	sys/shm/gstshmsrc.c
	sys/vdpau/h264/gstvdph264dec.c
	sys/vdpau/mpeg/gstvdpmpegdec.c
	tests/examples/opencv/gst_element_print_properties.c
	win32/common/config.h
2012-03-29 17:41:53 +02:00
Wim Taymans
a9ec4d62a8 update for buffer changes 2012-03-28 12:53:09 +02:00
Wim Taymans
5bf86a8728 Release 0.11.2 2012-03-22 15:52:37 +01:00
Wim Taymans
289e9683e9 rawparse: fix bayer caps 2012-03-21 09:41:08 +01:00
Thiago Santos
7dd5b2002a geometrictransform: Prevent access to the transform map when it is null
Check if the map doesn't exist when receiving a new caps and create
a new one. This prevents that the transform functions try to access
the map when it doesn't exist.
2012-03-20 20:11:30 -03:00
Thiago Santos
74471813eb geometrictransform: add some more log messages 2012-03-20 20:11:30 -03:00
Oleksij Rempel (Alexey Fisher)
79a74089d4 wrappercamerabinsrc: avoid reseting caps to the same value
Reduces capture latency when the new caps are the same as the old
one, avoiding resetting the source state for a forced renegotiation.
2012-03-20 20:11:30 -03:00
Mark Nauwelaerts
cc7918de19 rawparse: port to 0.11 2012-03-20 20:21:37 +01:00
Wim Taymans
c7f9558cc4 orc: don't compile everything at startup 2012-03-20 15:38:33 +01:00
Tim-Philipp Müller
1cec862538 adpcmdec: GST_BASE_LIBS already contains -lgstbase-0.10 2012-03-18 23:15:23 +00:00
David Schleef
e54218a648 adpcmdec: Add -lgstbase-0.10 2012-03-18 14:43:37 -07:00
Mark Nauwelaerts
a3002ad338 scaletempo: port to 0.11 2012-03-18 18:32:55 +01:00
Mark Nauwelaerts
0473a882ec smooth: port to 0.11 2012-03-18 18:32:51 +01:00
Mark Nauwelaerts
b12ac89da0 segmentclip: port to 0.11 2012-03-18 18:32:46 +01:00
Mark Nauwelaerts
3354fda883 removesilence: port to 0.11 2012-03-18 18:32:36 +01:00
David Schleef
67f546968c inter: Add channel property
The channel property allows multiple intersrc/sink pairs to find
each other.  It's a free-form text string that must match among
various inter elements.  Also fixed up documentation and latency
handling.
2012-03-17 12:18:47 -07:00
Wim Taymans
bc38bc27b7 don't pass random pointers to pull_range 2012-03-16 21:47:39 +01:00
Stefan Sauer
f8cf7bf973 faceoverlay: remove blank line in gtk-doc comment 2012-03-16 12:10:10 +01:00
Stefan Sauer
288c6fa26c faceoverlay: code cleanups
Use glib types and simply expressions in the message handler.
2012-03-15 22:58:11 +01:00
Stefan Sauer
a31a698943 faceoverlay: don't access message fields directly 2012-03-15 22:49:51 +01:00
Wim Taymans
ed82d408b1 update for bufferpool changes 2012-03-15 22:11:32 +01:00
Wim Taymans
583f5d1dc7 update for allocation query changes 2012-03-15 20:38:27 +01:00
Tim-Philipp Müller
3f07ebcc37 faceoverlay: clear overlay if the face disappears 2012-03-15 18:26:24 +00:00
Tim-Philipp Müller
36a6a13f1c faceoverlay: add some locking for properties, free previous location when it changes 2012-03-15 18:21:37 +00:00
Tim-Philipp Müller
3bbb0387c4 faceoverlay: don't make rsvgoverlay reload the SVG for every single frame
Only set location on rsvgoverlay if it has changed.
2012-03-15 18:08:09 +00:00
Tim-Philipp Müller
549447d288 faceoverlay: move face handling into own function and handle 0 face count
When a face disappears, we seem to get a message from facedetect with
a face count of 0, which we want to just ignore instead of trying to
access face #-1, which causes nasty warnings.
2012-03-15 17:47:58 +00:00
Tim-Philipp Müller
55b0f1e601 faceoverlay: fix pad templates
Use generic and unspecififed rgb/caps for now. The exact caps
supported depend on the facedetect element and rsvgoverlay. It's
not clear how this worked before, since facedetect only accepts
24-bit RGB, but the caps advertised 32-bit ARGB/BGRA. In any case,
we don't want to force anything really, so that if any of those
elements acquires support for additional formats we pick those up
automatically.
2012-03-15 17:42:56 +00:00
Tim-Philipp Müller
d405ea2e63 faceoverlay: fix weird pad creation code
The element would create normal pads in its instance_init function,
and then later in NULL->READY create the elements it needs, remove
the pads created in the instance_init function, and add new ghost
pads instead. Not without saving the external peer pads of the old
pads of course, which it would promptly re-link to the new ghost
pads. Do all of that a bit differently.

Fixes the generic/states.check unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=670588
2012-03-15 16:52:44 +00:00
Tim-Philipp Müller
fead44ad12 faceoverlay: minor cosmetic changes
Remove template maker comments, use our defines for
package name and origin.
2012-03-15 15:48:53 +00:00
Wim Taymans
6cbb840385 update for memory api changes 2012-03-15 13:37:36 +01:00
Wim Taymans
9f700cc3c4 take padding into account 2012-03-14 19:56:59 +01:00
Tim-Philipp Müller
7f70d42837 inter: fix warnings when gst-inspecting interaudio{src,sink}
The channel property isn't implemented, so don't register it.
2012-03-13 20:59:00 +00:00
Oleksij Rempel (Alexey Fisher)
4e7edb2778 geometrictransform: make sure gt->map not freed twice
current cheese can create situation where gt->map is freed twice.
This patch set map to null to avoid it.

https://bugzilla.gnome.org/show_bug.cgi?id=671910
2012-03-12 23:56:50 +00:00
Gil Pedersen
fd92f8d6a2 hlsdemux: add floating point segment duration support 2012-03-12 15:30:35 +01:00
Wim Taymans
77299ba6ae fix for caps api changes 2012-03-11 19:06:59 +01:00