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
Thibault Saunier
20669d461a
Fix 'ignoring return value of function declared with const attribute'
...
This always happens with GstByteReader/Writer and friends when
not taking into account returned boolean of the _read/_write functions
(which is actually wrong).
Make use of the *_unchecked variant as much as possible, or take the
returned value into account.
2012-03-10 19:22:07 -03:00
Danilo Cesar Lemes de Paula
35df907f93
Fixing rtpvp8 compatibility with the third draft
...
https://bugzilla.gnome.org/show_bug.cgi?id=671073
2012-03-08 15:23:25 -05:00
Mark Nauwelaerts
22b9b13166
sirendec: port to audiodecoder
2012-03-06 18:33:25 +01:00
Mark Nauwelaerts
6f8e60e24f
sirenenc: port to audioencoder
2012-03-06 18:33:17 +01:00
Mark Nauwelaerts
df86df9ddf
dccp: avoid indefinite looping upon error
...
... and fix 'uninitialized' compilation warning as well.
2012-03-06 18:33:09 +01:00
Sebastian Dröge
e34a70902c
removesilence: Fix 'argument to 'sizeof' in 'memset' call is the same expression as the destination' compiler warning
2012-03-06 14:47:17 +01:00
Sebastian Dröge
b292b19c59
mxfdemux: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning
2012-03-06 14:46:03 +01:00
Sebastian Dröge
0bd9ae0dea
mpegtsparse: Fix 'variable 'pid' is uninitialized when used here' compiler warning
2012-03-06 14:44:25 +01:00
Sebastian Dröge
5f2081e828
mpegdemux: Fix 'expression result unused' compiler warning
2012-03-06 14:43:29 +01:00
Sebastian Dröge
21ddc28760
dccp: Fix 'comparison of unsigned expression < 0 is always false' compiler warning
2012-03-06 14:41:00 +01:00
Sebastian Dröge
e214b31f5c
baseaudiovisualizer: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning
2012-03-06 14:38:47 +01:00
Edward Hervey
416b10b991
mpegtspacketizer: Handle rollover in offset calculations
2012-03-05 12:46:13 +01:00
Wim Taymans
dbf0b994f2
x-raw-bayer -> x-bayer
2012-03-05 12:43:42 +01:00
Wim Taymans
bc9ebb2ff2
use new style caps
2012-03-05 12:03:23 +01:00
Edward Hervey
d798cb7be3
tsdemux: printf fix
2012-03-05 11:27:51 +01:00
Edward Hervey
bb479b04c1
tsdemux: Update TODO
2012-03-05 10:17:56 +01:00
Edward Hervey
85878c142e
mpegts: Switch rank of mpegtsdemux and tsdemux
...
More effort has been put lately in tsdemux and works in more use cases
2012-03-05 09:46:17 +01:00
Edward Hervey
c557f71756
tsdemux: Push packets as early as possible
...
When the PES header tells us how big the outgoing packet is, push the
packet downstream as soon as we have the specified size instead of waiting
for the beginning of the next packet.
Reduces latency and removes issues with very sparse streams (like subtitles
and subpictures).
2012-03-05 09:41:48 +01:00
Stefan Sauer
f88c45c0cf
audiovisualizers: planning + example update
2012-03-04 19:57:14 +01:00
Tim-Philipp Müller
0bb5a01639
tsdemux: fix confusing variable name
2012-03-03 15:47:01 +00:00
Edward Hervey
01f5f62d95
tsdemux: Fix segment start position
...
If we *really* can't figure out the first start position, that most
likely means the data to push out doesn't have any timestamp.
Use a default value of 0 then
2012-03-02 17:19:45 +01:00
Edward Hervey
a3ae51be29
mpegtsbase: Flush out the packetizer on flushing seeks
...
... else we end up with bogus data/offsets
2012-03-02 17:19:45 +01:00
Thibault Saunier
ece4dfc3c6
tsdemux: Activate pads only when receiving data for the stream
...
https://bugzilla.gnome.org/show_bug.cgi?id=670921
2012-03-02 17:19:45 +01:00
Edward Hervey
a274bc5b76
mpegvideoparse: Fix level code
...
Valid ranges are from 4 to 10
Valid ranges >> 1 are from 2 to 5
Valid ranges >> 1 - 2 are from 0 to 3
(and not from 1 to 4)
2012-03-02 11:07:47 +01:00
Edward Hervey
671550714f
mpegtsbase: Check harder for program changes
...
And don't just rely on the section crc/version_number changing to
indicate that the program actually changed.
2012-03-02 10:54:48 +01:00
Edward Hervey
097f09b823
mpegtsbase/tsdemux: Refactor seek and segment handling
...
All calculations go through the mpegtspacketizer
Remove unused variables/code
2012-03-01 18:15:51 +01:00
Edward Hervey
77ece06a3f
mpegtsbase: Error out on EOS without any pad
...
Avoids ending up with hanging pipelines
2012-03-01 18:15:51 +01:00
Edward Hervey
a4899af8d6
mpegtspacketizer: Offset calculation
...
Allows PCR<=>PTS<=>offset estimation/calculation
Right now the calculation is very naive, but can be extended later on
without disrupting the code in tsdemux/mpegtsbase
2012-03-01 18:15:51 +01:00
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
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
Thibault Saunier
f94236078c
h264parse: Make proper use of the h264parser lib in parse_chain
...
Minor debugging logs fixes
2011-10-06 12:49:19 -03:00
Wim Taymans
e83fb140d5
Merge branch 'master' into 0.11
2011-10-06 14:05:42 +02:00
Wim Taymans
e82262969c
mpeg4videoparse: port to 0.11
2011-10-06 14:03:29 +02:00
Mark Nauwelaerts
9c221f492d
h264parse: properly interpret baseparse draining state
...
... which means the input data has reached the end, but need not exclude
many separate frames may still need parsing.
Fixes merging NALs into AU.
2011-10-06 12:26:23 +02:00
Sreerenj Balachandran
3129ea29b1
h264parse: correct the size argument of gst_h264_parser_identify_nalu_avc()
2011-10-06 11:59:41 +02:00
Sreerenj Balachandran
bbc30f3644
h264parse: minimum size of parsable avcC data should be 8
2011-10-06 11:59:38 +02:00
Wim Taymans
c94c332578
jpegformat: port to 0.11
2011-10-05 20:06:20 +02:00
Wim Taymans
bd0b3f0761
dataurisrc: port to 0.11
2011-10-04 18:38:50 +02:00
Wim Taymans
a7d614b963
Merge branch 'master' into 0.11
2011-10-04 13:29:21 +02:00
Sebastian Dröge
8e2c5833f1
videoparsers: Only fail to initialize the plugin if all parsers can't be registered
2011-10-04 12:31:05 +02:00
Sebastian Dröge
24241b809e
rtpvp8pay: Fix typo
2011-10-03 12:06:27 +02:00
Youness Alaoui
f5abb2c647
rtpvp8: Update the pay/depay to the ietf-draft-01 spec
2011-10-03 11:32:46 +02:00
Wim Taymans
d26f7319e9
Merge branch 'master' into 0.11
2011-10-03 11:24:04 +02:00
Vincent Penquerc'h
e4856a2965
mpegtsdemux: fix scanning stopping too early
...
https://bugzilla.gnome.org/show_bug.cgi?id=648245
2011-10-03 11:15:16 +02:00
Vincent Penquerc'h
46dd7941f3
mpegpsdemux: take into account SCR offset when seeking
...
Since the seeking byte offset is chosen by linear interpolation
from SCR values, we need to take that first SCR into account
to end up near the correct offset. Otherwise, as the code does
a linear search after that first seek, it will take a LOOOOOONG
time to get there for streams which don't start at zero.
https://bugzilla.gnome.org/show_bug.cgi?id=659485
2011-09-30 15:15:06 +01:00
Vincent Penquerc'h
49d1121101
mpegdemux: answer position query with a stream time position
...
https://bugzilla.gnome.org/show_bug.cgi?id=659485
2011-09-30 15:11:12 +01:00
Vincent Penquerc'h
71f28c44a0
mpegpsdemux: remove unused field
...
https://bugzilla.gnome.org/show_bug.cgi?id=659485
2011-09-30 15:05:31 +01:00
Thiago Santos
379670e036
camerabin2: add location to preview image messages
...
Makes camerabin2 intercept preview-image messages and add
the filename corresponding to the message structure in the
'location' field.
Makes easier for applications to track preview images
2011-09-29 18:21:06 -03:00
Robert Swain
6446cc4ae9
camerabin2: Fix potential loss of EOS event
...
Setting the audio source to NULL just after pushing the EOS event
on it could potentially cause loss of said EOS event. Instead, we
can set the audio source to NULL when ready-for-capture is
signalled and the boolean value is true as this indicates we are
not currently capturing video.
2011-09-29 16:22:00 +02:00
Wim Taymans
7f4cf50496
Merge branch 'master' into 0.11
2011-09-26 22:31:17 +02:00
Wim Taymans
6a44e54b09
sdpdemux: port to 0.11
2011-09-26 22:30:13 +02:00
Robert Swain
f4e744ff49
camerabin2: Stop the audio source between captures
...
Move the audio source setting of state to NULL to _stop_capture () to
avoid the audio source running between captures.
2011-09-26 17:23:41 +02:00
Thibault Saunier
2c928aba19
codecparsers: Declare the new APIs as unstable for the time being
2011-09-26 08:11:45 -03:00
Vincent Penquerc'h
38cdb54112
mpegtsdemux: keep CRC table in .rodata
...
https://bugzilla.gnome.org/show_bug.cgi?id=660118
2011-09-26 13:00:03 +02:00
Mark Nauwelaerts
e615cf15a9
irtspparse: add Interleaved RTSP parser element
2011-09-26 12:20:35 +02:00
Tim-Philipp Müller
ad1883f54d
psmux: fix writing of system header, which makes VLC not skip the adjacent PSM and play embedded H.264 streams
...
header_length contains the length in bytes after the header_length
field, excluding the 6 byte start code and header_length field.
H.264 streams and some other formats need to be announced in the PSM.
VLC wouldn't play files created with mpegpsmux containing H.264 because
we claim the system header is larger than it actually is, which makes
VLC skip the program stream map which follows the system header, which
in turn makes it not recognise our H.264 video stream.
2011-09-22 20:11:21 +01:00
Mark Nauwelaerts
b142663ca5
h263parse: bring debug statements up to desired specs
2011-09-19 14:55:12 +02:00
Mark Nauwelaerts
66f644cfcc
h264parse: bring debug statements up to desired specs
2011-09-19 14:55:09 +02:00
Vincent Penquerc'h
837500af07
rtpvp8: fix bitstream parsing using the wrong kind of bitreader
...
VP8 uses a probabilistic bool coder, not a straight bit coder.
This fixes parsing when error-resilient is set.
This commit includes a copy of libvpx's bool coder, BSD licensed.
https://bugzilla.gnome.org/show_bug.cgi?id=652694
2011-09-19 11:33:34 +02:00
Thiago Santos
b8f9c3b39d
camerabin2: Adding 2 more log messages
2011-09-16 00:52:53 -03:00
Vincent Penquerc'h
25c3ce9a7a
camerabin2: replace deprecated g_atomic_int_exchange_and_add
...
It was replaced by g_atomic_int_add, which now returns the
old value.
https://bugzilla.gnome.org/show_bug.cgi?id=659061
2011-09-16 00:52:53 -03:00
Thiago Santos
cc27a7fe3a
camerabin2: Reset last state change result on state-locked elements
...
An element stores the result for the last state change it did and
GstBin's state change handler will use this last result for state
locked elements to decide if its state change was successfull or not.
In camerabin2, the filesinks have their state locked and when they
fail switching states, this last failure will be used if the application
tries to change camerabin2's state, causing any state change to fail.
This patch makes camerabin2 reset this last change failure, avoiding
that camerabin2 fails on its next state changes.
2011-09-16 00:52:53 -03:00
Thibault Saunier
df551c0af4
mpegvideoparse: Handle properly frame detection
...
Handle the case where we have buffers containing no startcode
in the middle of a frame properly.
2011-09-14 12:13:19 -03:00
Mark Nauwelaerts
a31d541f07
mpegvideoparse: send a video-codec tag
...
https://bugzilla.gnome.org/show_bug.cgi?id=569305
2011-09-14 16:14:54 +02:00
Thiago Santos
00e635e786
camerabin2: Check zoom notify callback from camera-source
...
Camerabin2 has a zoom property that is simply proxied to its
internal camera-source element. This patch makes camerabin2 listen
to 'notify' signals from it so it can update its zoom property value
when camera-source changes its zoom as a side-effect of another operation
or because the user set the zoom directly to it, instead of doing
it from camerabin2.
2011-09-12 17:49:25 -03:00
Alessandro Decina
6e9873038b
mpegvideoparse: fix compiler warnings
2011-09-12 10:23:36 +02:00
Thibault Saunier
404c18ab18
h264parse: Make use of the h264_nal_parser_free function
2011-09-09 15:02:35 -03:00
Sebastian Dröge
24517ba784
hlsdemux: Fix merge mistake from last commit
2011-09-09 12:27:57 +02:00
Youness Alaoui
55e4206159
hlsdemux: Report the correct timestamp for live streams
...
Buffers would always start with timestamp 0 and we'd start streaming
from the first buffer, but live streams always start streaming from
the last fragment - 3 fragments in the playlist, which makes its
timestamp, as returned by get_next_fragment, be whatever position
they had in the playlist. This makes sure the position correctly
reports the position of the buffer in the playlist, and added a shifting
variable to allow seeking in the middle of fragments.
2011-09-09 12:21:36 +02:00
Youness Alaoui
894ac8f493
hlsdemux/tsdemux: Add HP copyright on work done on HLS
2011-09-09 12:12:12 +02:00
Youness Alaoui
609bdd6642
hlsdemux: set playlist to NULL after unreffing it to avoid a double-unref in the dispose
2011-09-09 12:11:42 +02:00
Youness Alaoui
84e67767a3
hlsdemux: Do not lock the mutex of the fetcher during EOS
...
The fetch_location might call stop_fetcher which could generate an EOS
and cause a deadlock
2011-09-09 12:10:56 +02:00
Youness Alaoui
baf875b928
hlsdemux: Do not join the task from the task's thread itself. join it only in the state change
2011-09-07 22:26:47 +02:00
Vincent Penquerc'h
1a6dbe1e27
mpegvideoparse: make this build with older glib
...
g_list_free_full is a new convenience function.
Replace it with g_list_foreach and g_list_free.
https://bugzilla.gnome.org/show_bug.cgi?id=658450
2011-09-07 14:34:33 +02:00
Sebastian Dröge
724d7a3def
videoparsers: Make the h263 and (new) mpeg video parser autopluggable
2011-09-07 13:47:51 +02:00
George Kiagiadakis
ddf32e2c49
h264parse: Fix IDR position marking when the IDR is split into several NALs
2011-09-07 13:36:12 +03:00
Sebastian Dröge
e86e66e86c
h263parse: Add all always present fields to the src template caps
2011-09-07 11:29:37 +02:00
Sebastian Dröge
89aa5dae9d
diracparse: Add all fields to the src template caps
2011-09-07 11:29:37 +02:00
Sebastian Dröge
2adf76eb52
videoparsers: Allow parsed streams to be passed through the parsers
2011-09-07 11:29:37 +02:00
Sebastian Dröge
d4147a2798
h264parse: Put stream-format and alignment into the src template caps
...
Also remove the parsed field from the sink template caps.
2011-09-07 11:29:37 +02:00
Sebastian Dröge
456335eab4
h264parse: Change rank to PRIMARY+1 to have h264parse autoplugged
2011-09-07 11:29:36 +02:00
Sebastian Dröge
29a358e8cd
diracparse: Constify some arrays
2011-09-07 11:29:36 +02:00
Wim Taymans
d4590a1959
Merge branch 'master' into 0.11
2011-09-06 16:13:28 +02:00
Sebastian Dröge
cfb986b6bf
h264parse: Add Converter to classification
...
This parser can convert between different alignments and stream-formats.
2011-09-06 13:21:28 +02:00
Youness Alaoui
473e71e1ca
hlsdemux: If a fetch fails, decrement the sequence number
2011-09-03 09:09:02 +02:00
Youness Alaoui
5aa972eab2
hlsdemux: make hlsdemux lock/unlock the m3u8 client when it accesses it
2011-09-03 09:01:40 +02:00
Youness Alaoui
6133608789
hlsdemux: Add a get_target_duration and get_current_uri api to m3u8_client
2011-09-03 09:00:50 +02:00
Youness Alaoui
a252794a03
hlsdemux: Make the m3u8 client thread-safe
2011-09-03 09:00:35 +02:00
Sebastian Dröge
a82f92aed2
hlsdemux: Reset in PAUSED->READY after chaining up to the parent class
...
Otherwise there are possible race conditions with the streaming thread.
2011-09-02 19:45:21 +02:00
Thibault Saunier
b968f82b18
h264parse: Port to the new h.264 parsing library
2011-09-02 15:46:02 +02:00
Thibault Saunier
a983b29a49
mpegvideoparse: Port to the new mpeg parsing library
2011-09-02 15:46:02 +02:00
Sebastian Dröge
0561c3751c
hlsdemux: Remove obsolete FIXME comment
2011-09-02 15:00:58 +02:00
Sebastian Dröge
82bbc76f15
hlsdemux: Reset the internal state going to/from READY instead of NULL
...
This theoretically allows reuse of the element when setting it to READY
instead of NULL.
2011-09-02 14:55:45 +02:00
Sebastian Dröge
445f626016
hlsdemux: Set playlist parsing helper object to NULL after freeing
2011-09-02 14:54:56 +02:00
Youness Alaoui
acacc251fa
hlsdemux: Allow up to 3 consecutive failed downloads before erroring
...
In some networks, especiall in 3G, a fragment download or playlist
update may fail. We allow for up to 3 consecutive failures, while using
the rfc's specs for retry delays before considering that there was an
error on the stream.
2011-09-02 14:52:07 +02:00
Youness Alaoui
8889c5927c
hlsdemux: remove unused argument
2011-09-02 14:51:11 +02:00
Robert Swain
db0739e54f
camerabin2: Add a flag to disable image conversion elements
...
If we know that our camera source element produces buffers at the same
resolution and appropriate colourspace for the output, we don't need any
of the generic conversion elements in encodebin. This reduces caps
negotiation overheads among other things.
2011-09-01 15:57:50 +02:00
Thiago Santos
2ed3d1b309
camerabin2: Micro optimize encodebin pads linking
...
Reduce one check in encodebin pads linking on camerabin2 by
using the link_pads_full version
2011-08-31 15:45:18 -03:00
Thiago Santos
ac7fc0d357
camerabin2: Use explicit boolean literals to make gobject happy
...
gobject boolean properties are strict and only accept 1 or 0, otherwise
they throw an assertion.
2011-08-31 15:45:18 -03:00
Sebastian Dröge
cf8f00d57a
hlsdemux: Just join the task
...
gst_task_join() will already stop the task, no need
to stop it additionally.
2011-08-31 14:48:47 +02:00
Sebastian Dröge
119771eaab
hlsdemux: Join the task instead of just stopping it and not waiting for it to finish
...
Fixes interesting race conditions that cause crashes in decodebin2
because pads are added/removed from child elements although they
should be in READY state already.
2011-08-31 14:47:40 +02:00
Sebastian Dröge
c8b7ae1ffa
hlsdemux: Remove unused variable
2011-08-31 12:12:59 +02:00
Youness Alaoui
0c97deb59d
hlsdemux: switch to higher/lower bitrate by more than one step at a time
2011-08-31 12:12:33 +02:00
Youness Alaoui
6436747eb0
hlsdemux: remove spamming GST_LOG_OBJECT
2011-08-31 12:11:32 +02:00
Youness Alaoui
277a7d05b2
hlsdemux: If paused, do not cache fragments until out of memory error!
...
We should stop the update thread in PAUSED state and avoid fetching
new fragments when the queue is not empty. The queue should always be
empty since we push data into a queue. Also, in totem, if we seek and
pause the stream while it's buffering, then the state will stay playing
for some reason, so it's best not to continue fetching fragments forever.
2011-08-31 12:11:20 +02:00
Youness Alaoui
917708df82
hlsdemux: start/stop update thread and keep track of status
2011-08-31 12:10:32 +02:00
Youness Alaoui
4724b9a5b6
hlsdemux: Post duration message when we parse the playlist
2011-08-31 12:09:53 +02:00
Youness Alaoui
f93939b46c
hlsdemux: Send a flush-stop when switching pads. Fixes A->A/V sync issue.
...
This is to ensure that we reset the accumulate segment on the sinks
so if we start with audio only then switch to audio+video, then both
sinks will have the same segments and will be synchronized.
2011-08-31 12:09:38 +02:00
Youness Alaoui
ed5a5cc139
hlsdemux: seems there was a typo, free the adapter if it contains data, not if already empty
2011-08-30 16:18:30 +02:00
Youness Alaoui
4a6d888961
hlsdemux: oups, we need to empty the queue after freeing its content
2011-08-30 16:18:08 +02:00
Youness Alaoui
59c61209cf
tsdemux: Need to flush all streams when we receive a flush-start
2011-08-30 16:17:47 +02:00
Youness Alaoui
cb30cd242c
hlsdemux: do not broadcast the fetcher_cond on bus error if we're cancelled
...
If we cancel the fetch and call the stop_fetcher, which holds the lock,
when it sets the fetcher's state to NULL, it might send an error
on the bus. In that case, we must ignore it, otherwise it will try
to take the lock and will block forever.
2011-08-30 16:16:54 +02:00
Jonas Larsson
fc0fe37b10
hlsdemux: Split playslist on \r\n not just \n
2011-08-30 16:16:07 +02:00
Youness Alaoui
6e9eeb7678
hlsdemux: Do not succeed a download if the fetcher had an error
2011-08-30 16:15:41 +02:00
Youness Alaoui
e22c300be2
hlsdemux: Rename functions that need to be called with a locked mutex
2011-08-30 16:15:28 +02:00
Youness Alaoui
50d0468241
hlsdemux: We must signal the fetcher_cond while holding its lock
2011-08-30 16:15:03 +02:00
Youness Alaoui
3054355dc1
hlsdemux: We do not need to set the current playlist to the main one
...
When caching fragments, if we set the current playlist to main, then
it will always think it's a live stream (no endlist in it) so it will
force the redownload of the main playlist after every seek, which is
unnecessary. Also, it causes a race condition where a seek migh happen
during that redownload, and we'll think we're trying to seek a live pipeline.
2011-08-30 16:14:30 +02:00
Thiago Santos
5ae630489c
camerabin2: Make viewfinder's queue a thread limit only
...
Reduce the viewfinder queue limits to only allow it to store
one buffer, preventing the queue from holding old buffers for
too long. This also avoids showing slightly outdated frames on
the viewfinder when the source has already produced new ones
and improves the buffer recycling rate, important for sources
that use bufferpools.
2011-08-26 09:43:14 -03:00
Youness Alaoui
e380fbb019
tsdemux: In push mode, do not start pull loop if upstream seek fails
2011-08-26 09:51:46 +02:00
Youness Alaoui
108493ee51
hlsdemux: do not make the update_thread joinable
2011-08-26 09:51:46 +02:00
Youness Alaoui
8c04ea47d2
hlsdemux: Ensure the task is paused in case of cache error
2011-08-26 09:51:46 +02:00
Youness Alaoui
46ac6a2589
hlsdemux: stop the threads in the proper order
...
first pause the task, then stop all fetchers, then stop the update thread
then pause the task again, since it might have been restarted by
another thread in the meantime
2011-08-26 09:51:46 +02:00
Youness Alaoui
015d1e11e2
hlsdemux: do not post an error if we seek/cancel during caching of fragments
2011-08-26 09:51:46 +02:00
Youness Alaoui
d69297a23c
hlsdemux: if we're canceling a fetcher, we must stop its thread
2011-08-26 09:51:46 +02:00
Youness Alaoui
42401da686
hlsdemux: lock the update_thread mutex before stopping it
2011-08-26 09:51:46 +02:00
Youness Alaoui
39657fa52f
hlsdemux: lock the fetcher mutex before stopping it
2011-08-26 09:51:45 +02:00
Youness Alaoui
e1a0bdcdf5
hlsdemux: do not allow two fetchers to run simultanously
2011-08-26 09:51:45 +02:00
Youness Alaoui
adcfcabb14
hlsdemux: Stop the streaming task on PAUSED_TO_READY state change
2011-08-26 09:51:45 +02:00
Wim Taymans
ad06ac2b4b
Merge branch 'master' into 0.11
...
Conflicts:
ext/resindvd/rsnwrappedbuffer.c
2011-08-25 12:49:26 +02:00
Olivier Crête
1fdae52753
dtmf: Add more debug
2011-08-24 12:24:18 -04:00
Olivier Crête
4167697c0e
dtmf: Max event type is 15
2011-08-24 12:24:18 -04:00
Olivier Crête
e8268053c2
dtmfsrc: Align DTMF sound buffers with last-stop from event
...
Also make sure the timestamps never go backwards
2011-08-24 12:24:18 -04:00
Olivier Crête
2c7257481a
rtpdtmfsrc: Correctly recognize the end of a buffer
2011-08-24 12:24:18 -04:00
Olivier Crête
7c55ff3023
rtpdtmfsrc: Make sure rtpdtmfsrc timestamps don't overlap
2011-08-24 12:24:17 -04:00
Olivier Crête
e6c431a533
rtpdtmfsrc: Put the inter digit interval at the end, not at the start
...
The reason is to let rtpdtmfmux drop buffers during the inter digit interval,
this way, there will be more silence around the DTMF tones so IVFs will have
a better chance recognizing them.
2011-08-24 12:24:17 -04:00
Olivier Crête
7837cc25fb
rtpdtmfsrc: Start at the last_stop from the start event if there was one
...
The goal is to try to not have a GAP between the audio and the DTMF
2011-08-24 12:24:17 -04:00
Olivier Crête
859b8ebfc9
rtpdtmfmux: Add last-stop to dtmf-event upstream events
...
Add the running time of the last outputted buffer to the
upstream "dtmf-event" events so that the dtmf source does not
leave a gap.
2011-08-24 12:24:17 -04:00
Olivier Crête
38aaf7cbab
rtpdtmfsrc: Respect ptime from the caps
...
Respect the ptime from the caps for the DTMF packets
2011-08-24 12:24:17 -04:00
Olivier Crête
4f97524376
rtpdtmfsrc: Just error out if there is no clock
2011-08-24 12:24:17 -04:00
Sebastian Dröge
c86aba3469
tsdemux: Use FALSE instead of 0 for bool parameter
2011-08-24 09:35:18 +02:00
Youness Alaoui
744101a417
tsdemux: Need to send a newsegment after a seek
2011-08-24 08:12:29 +02:00
Youness Alaoui
a3fc3ec443
hlsdemux: Send buffering messages on the bus
2011-08-24 08:12:19 +02:00
Youness Alaoui
e2de4e5870
hlsdemux: cache the number of fragments we are required to cache
2011-08-24 08:12:14 +02:00
Youness Alaoui
cfd28a6f90
tsdemux: Forward seek/duration query/event to the sinkpad
2011-08-24 07:48:52 +02:00
Thiago Santos
69c65875ea
camerabin2: Optimize start up a little by removing some pad checks
...
Some pad checks are guaranteed to work, so we can disable them
by using gst_element_link_pads_full
2011-08-24 01:03:32 -03:00
Thiago Santos
011eddcd0e
camerabin2: Remove from experimental
...
Remove camerabin2 from experimental, allowing it to be built
without needing to pass --enable-experimental on configure.
2011-08-23 19:26:31 -03:00
Thiago Santos
e32897d809
camerabin2: Always set encodebin flags when going to ready
...
When going from NULL to READY we want the encodebin flags to be
set, and not only after creating encodebin (on the first run)
2011-08-23 19:13:21 -03:00
Thiago Santos
5c662ec0c7
camerabin2: Add new entry to flags property
...
Adds a new entry to camerabin2 flags to disable viewfinder
conversion elements.
2011-08-23 11:58:33 -03:00
Thiago Santos
dc9276b9ee
camerabin2: viewfinderbin: Add property for disabling converters
...
Adds a new property to disable converters elements for performance
reasons. It should only be used if the application knows they aren't
needed.
2011-08-23 11:19:51 -03:00
Vincent Penquerc'h
66dbdfd4d1
tsdemux: do not try to compare a PCR with itself for statistics
...
Especially as one of the logs will cause a divide by zero.
https://bugzilla.gnome.org/show_bug.cgi?id=656927
2011-08-23 10:38:10 +02:00
Vincent Penquerc'h
b19a5ea1f3
tsdemux: do not keep a dangling pointer
...
When removing the current program, it will get freed by the
hash table removal callback, so ensure we clear our pointer
to it.
Fixes a crash later on in gst_ts_demux_push trying to access it.
https://bugzilla.gnome.org/show_bug.cgi?id=656927
2011-08-23 10:37:24 +02:00
Vincent Penquerc'h
c437541791
dvdspu: do not clear out high bits from display area
...
http://dvd.sourceforge.net/spu_notes does not mention that high bits
are to be masked, and not clearing them makes a sample work, where
clearing them yielded left > right.
History does not shed any light, as tracing this code's origin shows
the same bitmasks being there in 2007 when it was imported.
https://bugzilla.gnome.org/show_bug.cgi?id=620119
2011-08-23 10:15:27 +02:00
Sebastian Dröge
6edff48378
mpegtsbase: First try if upstream handles seeking in TIME format before seeking in the demuxer
2011-08-23 09:52:20 +02:00
Sebastian Dröge
a27b7b6712
tsdemux: First send SEEKING queries upstream
2011-08-23 09:40:16 +02:00
Sebastian Dröge
ca0df16d52
tsdemux: Send DURATION query upstream first
2011-08-23 09:27:23 +02:00
Sebastian Dröge
20f9738c10
hlsdemux: Use FALSE instead of 0 for a bool parameter
2011-08-23 09:23:33 +02:00
Youness Alaoui
3f42050c34
hlsdemux: switch pads when we seek (need_segment) since tsdemux doesn't cope well with a reset
2011-08-23 09:22:40 +02:00
Youness Alaoui
2d90f1c0dc
hlsdemux: Add a FIXME comment. loop task should be a pad task
2011-08-23 09:21:03 +02:00
Youness Alaoui
b55f157d6f
hlsdemux: Do not seek in a live stream
2011-08-23 09:20:25 +02:00
Youness Alaoui
18f53cf547
hlsdemux: Do not take the pad stream lock, use the task's lock instead
2011-08-23 09:20:14 +02:00
Youness Alaoui
e2f69e1be9
hlsdemux: Implement EVENT_SEEK
2011-08-23 09:19:59 +02:00
Youness Alaoui
475abd15b6
hlsdemux: Implement the GST_QUERY_SEEKING properly
2011-08-23 09:18:16 +02:00
Youness Alaoui
ae4af3910e
hlsdemux: Implement correctly the GST_QUERY_DURATION
2011-08-23 09:17:30 +02:00
Youness Alaoui
a916d4dfd2
hlsdemux: Do not use GST_TASK_WAIT in the task function
...
The task function uses GST_TASK_WAIT which does a g_cond_wait giving it
the GST_OBJECT_GET_LOCK of the task. The mutex gets locked when
g_cond_wait returns, so if we don't lock/unlock it, it will
stay locked forever, preventing the task from ever finishing.
We shouldn't lock the task object lock, so let's remove the GST_TASK_WAIT
and make the task pause instead if there are no buffers in the queue.
2011-08-23 09:16:35 +02:00
Youness Alaoui
818762e8fc
tsdemux: do not send a new-segment on stream removal
...
When a program is changed, stream_added is called which sets the
need_newsegment to TRUE, then stream_removed is called, which calls
the flush_pending_data, which checks for the newsegment and causes
it to send a new-segment.
We must not send the newsegment when flushing the pending data on the
removed stream. We should only push it when flushing data on the newly
added streams (after they finish parsing their PTS header)
2011-08-22 16:01:24 +02:00
Youness Alaoui
382710e200
tsdemux: Fix newsegment when switching programs
...
If a program/stream is changed, then a newsegment is sent which must
not be the same as the base segment since it happens later. We must
shift the start position by the time elapsed since the newsegment
and the current PTS of the stream
2011-08-22 16:01:17 +02:00
Youness Alaoui
4cc1dfb360
tsdemux: interpolate gap and fix timestamps depending on upstream segment
2011-08-22 15:55:47 +02:00
Youness Alaoui
690e59e497
hlsdemux: Keep a separate variable for the current variant used
...
By using a separate variable, first it allows us to sort the lists
of alternates but keep the pointer on the first occurence in the main
playlist (to respect the spec of starting with the bitrate specified
first in the main playlist). It also avoid playing with the lists variable
which should be used to store the list of playlists and not as a pointer
to the current one.
Also fixes a memleak with the g_list_foreach freeing the lists, if it wasn't
pointing to the first element of the list.
2011-08-22 15:46:41 +02:00
Tiago César Katcipis
382346a6f3
removesilence: new plugin
...
Fixes : #597822 .
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-21 15:28:08 -07:00
Thiago Santos
6c272aafa7
camerabin2: Prevent audiosrc from sending undesired eos
...
Basesrc derived classes send an eos when they change state
from paused to ready and that breaks video recordings on camerabin2
as it makes the whole audio branch pads flushing.
Prevent it by using a pad probe that only allows the eos to pass
when it is caused by a stop-capture action.
2011-08-21 18:23:16 -03:00
Thiago Santos
fefc27a586
camerabin2: Use gst_pad_send_event instead of eventfunc macro
2011-08-21 18:23:16 -03:00
Thiago Santos
fe206e75f7
camerabin2: Avoid assertions when plugin creation fails
...
Capsfilters are created on the constructor and their properties can
be set/get from camerabin2's set/get_property functions. The user with
a broken setup would cause assertions when trying to set/get the
capture caps of this camerabin2.
A proper missing-plugin message will be posted when the user tries to
set camerabin2 to READY state.
2011-08-21 18:23:16 -03:00
Alessandro Decina
fa6d174455
tsmux: remove unnecessary check
...
remove an if (best) check where best != NULL has already been checked
2011-08-21 10:54:52 +02:00
Youness Alaoui
02bc614163
tsbase: reinitiate segment at flush-stop event only
2011-08-18 14:54:22 +02:00
Youness Alaoui
5878f71233
hlsdemux: Set buffer timestamp since we send a TIME segment
2011-08-18 14:05:10 +02:00
Youness Alaoui
8b762708cd
hlsdemux: Allow bandwidth switching during caching of fragments
2011-08-18 14:00:42 +02:00
Youness Alaoui
a62aa2b774
hlsdemux: set the pad's caps before adding it
2011-08-18 13:53:02 +02:00
Wim Taymans
52d48bb142
Merge branch 'master' into 0.11
2011-08-17 19:01:39 +02:00
Vincent Penquerc'h
0381919e83
aiffmux: drop data after 4ish GB and moan
...
https://bugzilla.gnome.org/show_bug.cgi?id=654278
2011-08-16 23:25:38 +01:00
Vincent Penquerc'h
76c0f9bfe7
aiffmux: use guint32 for guint32 parameters
...
This makes explicit that the range is limited.
https://bugzilla.gnome.org/show_bug.cgi?id=654278
2011-08-16 20:32:27 +01:00
Vincent Penquerc'h
fb2479d1da
aiffmux: avoid integer overflow
...
These values are 32 bits, and width is a multiple of 8.
https://bugzilla.gnome.org/show_bug.cgi?id=654278
2011-08-16 20:31:55 +01:00
George Kiagiadakis
743b4677a2
mpeg4videoparse: Use gst_bit_reader_skip to skip more than 32 bits.
...
GET_BITS is a macro for gst_bit_reader_get_bits_uint32, which cannot
read more than 32 bits and will fail in this case where it is called
to read 79 bits. Since we want to skip those bits, gst_bit_reader_skip
is more appropriate in this case.
2011-08-16 19:05:52 +02:00
Thiago Santos
19e5736acd
camerabin2: Add audio-filter property
...
Adds a property to add a custom GstElement to the audio
branch of the pipeline. This allows the user to do custom audio
processing/analysis when recording videos.
2011-08-13 11:42:07 -03:00
Stefan Kost
008fa0770b
basevisualizer: add more shader variants and simplify code
...
Use macros to simplyfy the shading code. Those will ease to add support for
other colorspaces in the future. Add more variants for the shading (left,right,
horiz-in, vert-out, vert-in).
2011-08-12 22:39:53 +02:00
Stefan Kost
039ff3873b
basevisualizer: more docs
2011-08-12 21:22:20 +02:00
Stefan Kost
3ba5b8bd0e
baseaudiovisualizer: protect config with a lock
...
Before it was easy to crash the elements when using a ximagesink and triggering
renegotiation by resizing.
2011-08-12 21:18:44 +02:00
Stefan Kost
058c63d185
spectrascope: make a copy of the audiodata before downmixing and windowing
...
The buffers come from the adapter and the data might overlap. We don't want to
modify it in place.
2011-08-12 16:57:49 +02:00
Vincent Penquerc'h
2728ead8a2
mxf: do not assert on the values of data read from input
...
Instead, log a warning, and return.
https://bugzilla.gnome.org/show_bug.cgi?id=563827
2011-08-09 10:44:48 +02:00
Thiago Santos
8dc9551f9a
camerabin2: Adding video-done message
...
video-done message will be posted when a video recording is
finished. Similar to image-done message.
2011-08-06 19:55:48 -03:00
Thiago Santos
80fb917034
camerabin2: Adding top-level element documentation
2011-08-06 12:26:32 -03:00
Thiago Santos
69b7326399
camerabin2: Fixing typo
2011-08-06 12:26:32 -03:00
Alessandro Decina
b01ee6bbf1
mpegvideoparse: fix sequence header parsing
...
After bitrate there's 11 bits (1 marker bit + VBV buffer size) before the load
intra quantiser flag.
2011-08-04 09:52:25 +02:00
Wim Taymans
2ba07782cd
Merge branch 'master' into 0.11
2011-08-04 09:40:46 +02:00
Wim Taymans
01b9b5002f
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst/colorspace/colorspace.c
gst/colorspace/colorspace.h
gst/colorspace/gstcolorspace.c
2011-08-04 09:36:07 +02:00
David Schleef
e98281d25f
subenc: Add webvttenc element
2011-08-03 13:39:34 -07:00
Tim 'mithro' Ansell
70c3fea5ac
inter: Adding missing base requirements.
...
Fixes : #654806 .
2011-08-03 13:38:37 -07:00
Thiago Santos
41989e358c
camerabin2: add more missing plugin checks
...
Sprinkle some more missing plugin checks around
2011-08-03 15:34:26 -03:00
Thiago Santos
e9b72257e2
camerabin2: Add a missing element check and remove TODO
...
Add missing element checks for elements created at _init
functions and remove TODO about it
2011-08-03 15:34:26 -03:00
Thiago Santos
a68b1f049c
camerabin2: Remove redundant image-queue
...
Encodebin is used for image encoding and it already contains
a queue, so we can remove camerabin2 image queue.
2011-08-03 13:58:26 -03:00
Tim-Philipp Müller
cc9e490313
dvbsuboverlay: fix up copyrights
2011-08-03 13:54:21 +01:00
Tim-Philipp Müller
f0bc2dc05b
bayer: back around compiler warnings in orc-generated code by disabling -Werror for this plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=652677
2011-08-02 23:53:08 +01:00
Thiago Santos
298af589eb
camerabin2: Workaround for ringbuffer not resyncing on READY
...
Add a workaround to fix timestamps meanwhile bug
https://bugzilla.gnome.org/show_bug.cgi?id=648359 is fixed.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
2e28fe2e18
camerabin2 remove redundant viewfinder-colorspace and viewfinder-scale
...
camrabin2 connects a viewfinderbin on "vfsrc". viewfinderbin is made of:
vfbin-csp ! vfbin-videoscale ! videosink.
we should either remove csp/videoscale from wrappercamerabinsrc (as
done in this patch) or we should get rid of viewfinderbin altogether.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
058a3d9d4c
basecamerasrc: remove unused get_allowed_input_caps
...
The use of this method was removed in:
commit 539f10f4d9
basecamerasrc: More cleanup
The code from wrappercamerabinsrc is from v4l2camerasrc but is unused:
get_allowed_input_caps is not called anywhere.
2011-08-02 13:39:18 -03:00
Teemu Katajisto
7e069060b3
camerabin2: Synchronize clock and base time to audiosrc
...
When audio source goes to READY it loses its clock and base time,
this patch sets them back after bringing the audio source back to PAUSED.
2011-08-02 13:39:17 -03:00
Robert Swain
7f720ed606
camerabin2: Prevent audio source from providing clock
...
The audio source inside camerabin2 is put to READY and back to
PLAYING when starting capture, causing the pipeline to lose its
clock. As camerabin2 isn't put to PAUSED->PLAYING again during
this, a new clock isn't selected for elements.
2011-08-02 13:39:17 -03:00
Robert Swain
2609427ada
camerabin2: Add flags prop to toggle encodebin conversion elements
...
A flags property has been added to encodebin to toggle whether the
conversion elements (ffmpegcolorspace, videoscale, audioconvert,
audioresample, audiorate) are created and linked into the appropriate
branches of encodebin.
Not including these elements avoids some slow caps negotiation and
allows the first buffers to flow through encodebin much more quickly.
However, it imposes that the uncompressed input is appropriate for the
target profile and elements selected to meet that profile.
2011-08-02 13:39:17 -03:00
Robert Swain
dae8d8fd5a
camerabin2: Prepare audiosrc before start-capture
...
If we bring the audio source up to the PAUSED state before emitting the
start-capture signal to the camera source, when subequently taking the
audio source to the PLAYING state, it will begin capture more quickly.
2011-08-02 13:39:17 -03:00
Robert Swain
afee3b0301
camerabin2: Remove redundant elements
...
Since camerabin2 has switched to encodebin and encodebin has its own
queues and conversion elements, those preceding encodebin are no longer
necessary and as such can be removed.
2011-08-02 13:39:17 -03:00
Edward Hervey
5c77682dab
tsdemux: Take into account upstream newsegment events
...
If the incoming newsegment event was in time, use that position value
for the downstream newsegments.
2011-08-01 18:49:55 +02:00
Edward Hervey
5572e63858
hlsdemux: Send NEWSEGMENT events
...
Previously hlsdemux wasn't sending out any newsegment.
Here we push a GST_FORMAT_TIME newsegment, and whenever possible we
try to indicate the proper start time.
This allows downstream elements to relay the start/time values properly
to the sinks, allowing better stream switching.
2011-08-01 18:48:03 +02:00
Edward Hervey
adfb090b59
mpegtsbase: Remove programs on EOS
...
Allows subclasses to properly flush out pending data.
2011-08-01 15:46:12 +02:00
Edward Hervey
57279cdd24
tsdemux: Refactor stream/program removal
...
The program_stopped vmethod was called before stream_removed vmethod
was being called. Since we only did stream-related operations in there,
we just remove the program_stopped vmethod and do everything in the
stream_removed one.
Also, make sure we flush out all pending data before sending EOS.
2011-08-01 10:54:16 +02:00
Nicolas Dufresne
cbc0a2f056
mpegtsbase: Prevent stack gardening by using the right type
...
stream_type is stored as guint inside the GstStructure but was retreived
using valist with a pointer to guint16. This would cause stack gardening
when code is compiled without optimisation (e.g. in -O0 the compiler wont
pad the stack to optimise out required mask).
https://bugzilla.gnome.org/show_bug.cgi?id=655540
2011-08-01 09:33:25 +02:00
Tim-Philipp Müller
830a337799
id3mux: use now-public GstTagMux base class from libgsttag
2011-07-29 21:27:28 +01:00
Tim-Philipp Müller
e5970c8805
tagmux: require subclass to install sink pad template
...
Require the subclass to install both source and sink pad
templates. Also, print some warnings if the subclass doesn't
do that.
https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-29 21:27:28 +01:00
Edward Hervey
976f4b0bbf
hsldemux: Handle change of media types
...
When switching bitrates, we might end up switching to a different
media-type (like from aac to/from mpeg-ts).
For this switch to behave properly in decodebin2, this patch adds:
* dynamic source pads (which will be added/removed whenever a stream
media type changes
* re-checking the fragment media type whenever we switch to a different
playlist
2011-07-27 16:56:37 +02:00
Edward Hervey
a49cfd1330
mpeg4videoparse: Fix unitialized variable on old compilers
2011-07-27 16:56:37 +02:00
Olaf Seibert
7583080023
hlsdemux: fix wrong usage of GST_ELEMENT_ERROR macros and compilation on NetBSD
...
https://bugzilla.gnome.org/show_bug.cgi?id=655319
2011-07-27 11:02:41 +01:00
Tim-Philipp Müller
e910e2888b
pcapparse: fix compiler warning
...
gstpcapparse.c: In function 'gst_pcap_parse_chain':
gstpcapparse.c:381:6: error: 'eth_type' may be used uninitialized in this function [-Werror=uninitialized]
gstpcapparse.c:354:11: note: 'eth_type' was declared here
2011-07-27 10:56:15 +01:00
Felipe Contreras
046af98b30
pcapparse: fix SLL parsing
...
The current code is not checking for ethernet type, as it's supposed to,
but link layer device type and it's hard-coded to only accept dumps from
ethernet (ARPHRD_ETHER; 1). We don't care where the dump was fetched
from (wlan, 3G, etc.)
What we care about is the that the ethernet type is IP (ETHERNET_IP;
0x800), which is clearly field 14:
http://www.tcpdump.org/pcap3_man.html
And do a bit of cleanup.
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-07-27 09:30:44 +02:00
Edward Hervey
634d29cd88
mpegtsbase/tsdemux: Fix stream/pad activation order
...
We first activate new streams before shutting down old ones.
We emit no-more-pads after we add new streams and emit EOS before
removing old ones.
Also cleanup/refactor a bit more of the code accordingly
2011-07-25 18:56:49 +02:00
Raluca Elena Podiuc
b50d50a9c2
camerabin2: add location=NULL docs to PORTING
...
https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Thiago Santos
a34ea4aaae
camerabin2: If location is NULL do not encode images
...
Using a NULL string for location means that the application
doesn't want the image to be encoded, but wants to receive
the preview image. (Only works for image captures)
Useful for application that want the capture in memory only, like
displaying to the user before it choses to encode or take another
picture in avatar capturing scenarios.
https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Edward Hervey
d0e8427b4e
pesparse: Fix stuffing byte handling
...
We in fact get the size of the header (including stuffing bytes), therefore
use that instead of trying to skip 0xff bytes ourselves since some media
streams do start with 0xff (like mpeg audio's initial 0xfff).
2011-07-20 19:19:13 +02:00
Alessandro Decina
2b7e9abc59
mpegtsdemux: fix compiler warnings
2011-07-20 08:59:25 +02:00
Edward Hervey
a960e72efa
mpegtsbase/tsdemux: Add more comments and removal unused variable
2011-07-19 09:49:40 +02:00
Edward Hervey
2b127601e9
mpegtsbase: Avoid double removal of streams
...
This can happen if the PCR pid is the same as a audio/video PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
b170b2020c
mpegtsbase: Add a GList of streams to the program
...
Allows faster iteration of all program streams.
We still keep the Array to allow fast retrieval of stream by PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
dc18e2b16d
mpegtsbase: Use a bit array instead of an array of gboolean
...
Makes know_psi and is_pes 32 times smaller
2011-07-19 09:49:39 +02:00
Sebastian Dröge
beea027d19
pcapparse: Fix format string compiler warning
2011-07-19 08:37:24 +02:00
Alessandro Decina
f12598fa64
h264parse: remove a check made useless by the last commit
2011-07-18 11:51:23 +02:00
Alessandro Decina
5f6a805dfd
h264parse: assume byte-stream if stream-format and codec_data are missing from input caps
2011-07-18 11:50:41 +02:00
Alessandro Decina
7bcc0c71b8
h264parse: ignore codec_data if stream-format=byte-stream
...
Some encoders set codec_data even when outputting byte-stream. Before this patch
h264parse would incorrectly detect such streams as AVC.
2011-07-18 11:50:41 +02:00
Edward Hervey
177e00f809
tsdemux: Use standalone PES parser
2011-07-18 09:13:15 +02:00
Edward Hervey
6f9a6cc2ba
mpegtsdemux: Add standalone PES parser
2011-07-18 09:13:14 +02:00
Edward Hervey
42cf7d016c
mpegdefs: clarify some stream ids
2011-07-17 09:49:06 +02:00
Edward Hervey
f6f885ddb8
tsdemux: whoops, tsdemux isn't ready yet for primary rank :)
2011-07-16 13:51:44 +02:00
Edward Hervey
a00900367a
mpegtsbase/tsdemux: Cleanups and comments
2011-07-16 13:47:45 +02:00
Edward Hervey
9f1511e998
tsdemux: Fix newsegment creation for push mode
...
And all relevent comments to what it should be doing, refactor everything
a bit. Still not perfect ... but better.
Fixes #654657
2011-07-16 13:44:00 +02:00
Edward Hervey
b73679e13d
mpegtsbase: Store incoming newsegments
2011-07-16 12:27:50 +02:00
Tim-Philipp Müller
f054eab77e
tagmux: const-ify GstTagList argument of render vfuncs
2011-07-15 20:57:47 +01:00
Tim-Philipp Müller
1c3229307e
tagmux: fix up private base class header so it can be made public
...
Move private bits into a private struct, add some padding.
https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-15 20:42:28 +01:00
Mark Nauwelaerts
01cf66b642
pcapparse: rename offset property to ts-offset
...
... so as to promote consistency with some other elements in the wild.
2011-07-15 10:05:24 +02:00
Alessandro Decina
d439f2d38d
mpegtsbase: actually set seen_pat=TRUE when we see a PAT
2011-07-15 00:03:52 +02:00
Edward Hervey
a82483e367
mpegtsbase: Split up whether we saw a PAT and its offset
...
Fixes the issue with streams that don't set an offset on their buffers,
like those coming from hlsdemux.
Fixes #653481
2011-07-14 22:10:27 +02:00