Commit graph

2819 commits

Author SHA1 Message Date
Stefan Kost
b96d57b870 mxf: add a return to fix the build when turning assert off 2010-01-25 11:49:46 +02:00
Stefan Kost
76daceadca Revert "mxf: add a return to fix the build when turning assert off"
This reverts commit 68ca62b369.
2010-01-25 11:48:29 +02:00
Stefan Kost
68ca62b369 mxf: add a return to fix the build when turning assert off 2010-01-25 09:54:27 +02:00
Kipp Cannon
7e067615ff inputselector: Protect g_object_notify() with the object's mutex
This works around the thread unsafety of g_object_notify()

Fixes bug #607513.
2010-01-24 20:53:56 +01:00
Tim-Philipp Müller
e9732ef902 pnm: use same media type as other elements
gdkpixbuf and our new typefinder in -base use image/x-portable-*.
2010-01-22 02:25:44 +00:00
Tim-Philipp Müller
b2ce6fe6d5 pnm: make element details a bit more descriptive 2010-01-22 02:25:44 +00:00
Tim-Philipp Müller
4de86d4d12 pnm: add copyright notice 2010-01-22 02:25:44 +00:00
Tim-Philipp Müller
232a1dc6d0 pnm: move typefinding into -base 2010-01-22 02:25:44 +00:00
Sebastian Dröge
454b1931bc mxf: Correctly initialize memory 2010-01-21 15:58:59 +01:00
Benjamin Otte
89d9aaee48 [cleanup] Various style and cleanups
Various fixes for gtk-doc warnings and making functions without
arguments take void as parameter.
2010-01-20 13:30:48 +01:00
Sebastian Dröge
b263ae123c cdxaparse: Fix buffer leak
Fixes bug #607285.
2010-01-18 10:58:39 +01:00
Sebastian Dröge
b95eda9c9a frei0r: Make sure that property names always start with a letter
Otherwise GLib throws assertions
2010-01-16 17:02:52 +01:00
Sebastian Dröge
e476ff9883 shapewipe: Replace floating point arithmetic in the inner processing loops by integer arithmetic 2010-01-16 16:52:11 +01:00
Julien Moutte
f33344ab0c mpeg4videoparse: don't set an invalid framerate.
When fixed_vop_rate is not set we can not set a framerate based on
vop_time_increment_resolution as it would most likely be wrong.
Don't set any framerate on the caps in that case.
2010-01-15 21:34:02 +01:00
Thiago Santos
774b7b33cc qtmux: Actually use new caps info on renegotiation
Following the previous qtmux commit, this patch tries
to use the new info added to the caps to fill the 'trak'
atom's fields and children atoms. This way qtmux will
use the late added 'codec_data' when h264parse adds
it in the following pipeline:

videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov
2010-01-14 19:09:44 -03:00
Thiago Santos
0b4c0890a5 qtmux: Do caps renegotiation when it only adds fields
Qtmux can accept caps renegotiation if the new caps is a
superset of the old one, meaning upstream added new info to
the caps. This patch still doesn't make qtmux update any
atoms info from the new info, but at least it doesn't
reject the new caps anymore.

A pipeline that reproduces this use case is:

videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov
2010-01-14 19:09:44 -03:00
Mark Nauwelaerts
dbc1f9f2d6 qtmux: provide request pads under wider conditions
Fixes #606859.
2010-01-13 19:30:45 +01:00
Thiago Santos
5a605b883b qtmux: Only accept avc-sample h264
qtmux and mp4mux should only accept h264 in avc-sample
format
2010-01-13 10:35:57 -03:00
Thiago Santos
eba1357244 h264parse: Add stream-format to caps
Adds the new stream-format field to h264parse caps

Fixes #606662
2010-01-13 10:35:57 -03:00
Thiago Santos
ba06eddb40 h264parse: Correctly rewrite all nal prefixes
When converting to byte-stream do not forget to rewrite
all nal prefixes instead of only the first one.
2010-01-12 18:18:39 -03:00
Thiago Santos
6e1f2cf392 mpegtsmux: Fix mistake on previous commit
Use the correct variables and variable format in the warning
message
2010-01-12 15:21:29 -03:00
Edward Hervey
58b9479423 flacparse: Initialize variables.
Fixes build on $#@*( macosx
2010-01-12 18:55:53 +01:00
Thiago Santos
e6ab078785 h264parse: remove codec_data if output is bytestream
codec_data should be removed from the src pad caps if the
output is in bytestream format

Fixes #606657
2010-01-12 09:58:48 -03:00
Thiago Santos
ddeb6e17fd mpegtsmux: Do not crash on misinterpreted h264
Avoid crashing when bytestream h264 is interpreted as avc format
h264

Fixes #606657
2010-01-12 09:37:34 -03:00
b3f0b029f3 win32: Include config.h before anything else. Fix mpegdemux LIBADD
Because config.h defines __MSVCRT_VERSION__, which should be defined
before inclusion of any system header.

Also fixes mpegdemux Makefile.am LIBADD typo.

Fixes #606665
2010-01-12 12:31:56 +01:00
Руслан Ижбулатов
d61abce8e4 librfb: port rfbsrc to MinGW
Fixes #606677
2010-01-12 00:29:57 +00:00
Thiago Santos
08d13fd191 aacparse: Also add stream-format to template caps
Do not forget to add stream-format to template caps
off aacparse
2010-01-11 13:42:49 -03:00
Thiago Santos
a428ad82c7 Rename aac's stream-format 'none' to 'raw'
Renames aac's stream-format from previous commits from none to
raw
2010-01-11 13:42:48 -03:00
Thiago Santos
7cfe3643db aacparse: Add stream-format to output caps
Adds stream-format field to output caps
2010-01-11 11:01:10 -03:00
Thiago Santos
5b8b363310 qtmux: Only accept stream-format='none' aac
Only accept raw aac streams (stream-format=none) to avoid
generating invalid files.

Fixes #604925
2010-01-11 11:01:10 -03:00
Tim-Philipp Müller
ee65cabbb3 vmnc: use existing macros to avoid alignment issues 2010-01-11 01:01:46 +00:00
Tim-Philipp Müller
904a4e0f48 rfbsrc: use existing macros to avoid alignment issues 2010-01-11 00:58:12 +00:00
Tim-Philipp Müller
64c6ee0b4e asfmux: fix alignment and endianness issue 2010-01-11 00:24:59 +00:00
Linqiang Pu
d68c2d4ab9 mpegdemux: fix allignment issue
Use GST_READ_UINT32_BE instead of GUINT32_FROM_BE to
fix int allignment issues on ARM

Fixes #606371
2010-01-10 10:09:55 -03:00
Marc-André Lureau
67e5d76d08 mpegtsmux: only video can have non-delta-unit 2010-01-08 16:06:38 +00:00
Thomas Vander Stichele
5fab65aafb mpegtsmux: mark delta-unit on outgoing buffers
Signed-off-by: Marc-André Lureau <mlureau@flumotion.com>
2010-01-08 13:07:53 +01:00
Mark Nauwelaerts
4067cd13c2 h264parse: optimize src caps updating 2010-01-07 19:00:14 +01:00
Mark Nauwelaerts
51aaa30fab h264parse: fix framerate calculation
... and also remove a superfluous duplicate debug statement.
2010-01-07 19:00:00 +01:00
Mark Nauwelaerts
997ec65cdf h264parse: fix regression in output buffer timestamping
Specifically, properly mark a buffer (NALU or AU) to start a frame or not.
2010-01-07 18:59:58 +01:00
Michael Smith
e2da34e6b6 mpeg4videoparse: avoid crash if vos < 5 bytes. 2010-01-06 11:20:41 -08:00
Tim-Philipp Müller
ec0c87486f fpsdisplaysink: fix typo in property description 2010-01-06 01:57:13 +00:00
Tim-Philipp Müller
b32305d015 mpegtsdemux: fix language extraction
The descriptor contains ISO 639-2 language codes, but we want
two-letter ISO 639-1 codes in GST_TAG_LANGUAGE.
2010-01-06 01:57:01 +00:00
Mark Nauwelaerts
e63fc68628 audioparsers: documentation fixes 2010-01-05 17:50:40 +01:00
Mark Nauwelaerts
51a28ed325 ac3parse: add documentation 2010-01-05 17:50:36 +01:00
Mark Nauwelaerts
d517e1c034 flacparse: add documentation 2010-01-05 17:46:31 +01:00
Mark Nauwelaerts
59855f35a7 flacparse: perform additional frame checks when resyncing 2010-01-05 17:46:15 +01:00
Mark Nauwelaerts
9009899176 flacparse: fix (multiple channel) frame parsing 2010-01-05 17:46:01 +01:00
Mark Nauwelaerts
79acb0b4cc flacparse: declare unparsed input and parsed output 2010-01-05 17:45:56 +01:00
Mark Nauwelaerts
660cdc4679 ac3parse: fix scanning for next syncword 2010-01-05 17:45:54 +01:00
Mark Nauwelaerts
3f5b4ee67f baseparse: adjust seek handling and newsegment sending
Perform sanity check on type of seek, and only perform one that is
appropriately supported.  Adjust downstream newsegment event
to first buffer timestamp that is sent downstream.
2010-01-05 17:45:48 +01:00
Mark Nauwelaerts
a885f80fd3 baseparse: minor refactor cleanup
Also add some debug logging.
2010-01-05 17:45:45 +01:00
Mark Nauwelaerts
ebe8c69cc2 flacparse: locate next sync code more efficiently 2010-01-05 17:45:42 +01:00
Mark Nauwelaerts
e6f840690d flacparse: baseparse takes care of handling leftover pieces 2010-01-05 17:45:32 +01:00
Mark Nauwelaerts
90c86c600b baseparse: implement leftover draining in pull mode 2010-01-05 17:45:29 +01:00
Mark Nauwelaerts
c4db8697d7 flacparse: set _OFFSET and _OFFSET_END on outgoing buffers 2010-01-05 17:40:07 +01:00
Mark Nauwelaerts
8c67702b84 audioparsers: move 'flacparse' into it 2010-01-05 17:40:02 +01:00
Mark Nauwelaerts
a3f7b8527e baseparse: provide default conversion using bps if no fps available
Also store estimated duration as such, rather than pretending otherwise
(e.g. set by subclass).
2010-01-05 17:39:59 +01:00
Arnaud Patard
24965dc415 mpegtsdemux: Handle eac3 in PMT
When the stream type is set to private data, gst-mpegtsdemux is trying to find
audio descriptors in PMT and look for AC3 (tag 0x6a) but doesn't look for EAC3
(tag 0x7a). Handle this case too.

Fixes bug #605904.
2010-01-04 10:15:29 +01:00
Alessandro Decina
52f5f42da0 h264parse: fix caps handling in _update_src_caps. 2009-12-30 21:50:32 +01:00
Stefan Kost
80aa8e70ec qtmux: also add .h file changes to unbreak the build 2009-12-28 11:34:35 +02:00
Stefan Kost
48111e3f18 qtmux: use correct names from template for request pads
The pads where names pad0, pad1, ...
2009-12-27 23:51:50 +02:00
Stefan Kost
be0d7470cf qtmux: move errors _new_pad to the end 2009-12-27 23:32:58 +02:00
Thiago Santos
f822f65f34 qtmux: Accept non-paired uint tags
Adds support for unpaired unsigned interger tags
2009-12-21 13:58:30 -03:00
Thiago Santos
80a192b825 qtmux: Adds new tags
Maps more tags that are already posted by qtdemux

Fixes #599759
2009-12-21 12:05:37 -03:00
Mark Nauwelaerts
a61183fe29 baseparse: check for remaining data when draining in push mode 2009-12-18 13:32:07 +01:00
Mark Nauwelaerts
d51d8ca35c baseparse: fix pull mode cache size comparison 2009-12-18 13:32:00 +01:00
Edward Hervey
83c7b38a10 ac3parse: Fix unitialized variable. 2009-12-18 13:01:17 +01:00
Thiago Santos
87bfdef683 fpsdisplaysink: Internal sink improvements
Does some general improvements with the internal sink handling.
1) Do not remove and re-add the ghostpad when changing
internal sink
2) Only instantiate the default sink when changing from NULL
to READY if there is no other available
3) Avoid changing the internal sink if not on NULL state

Fixes #598682
2009-12-17 20:39:24 -03:00
Thiago Santos
a4f30d5f3d fpsdisplaysink: Minor fixes
Downgrade a warning message to debug. Remove an
already fixed FIXME and add a note about (not-)using
fpsdisplaysink in autovideosink. Change the created
ghostpad to use the name "sink" as it is advertised in
the pad template.
2009-12-17 20:26:30 -03:00
Christian Schaller
86c2660d8d Update spec file and fix ac3parser header listing in Makefile.am 2009-12-17 14:46:01 +00:00
Thiago Santos
d2dce72c60 fpsdisplaysink: fix setting sync on child bin
Use GST_IS_BIN instead of G_OBJECT_TYPE to check if the
internal sink is a bin. Using the later won't work when
the sink is not a bin directly (but inherits from one, like
autovideosink).

Fixes #604280
2009-12-16 18:36:15 -03:00
Philippe Normand
9c03149e7b fpsdisplaysink: check the sync property exists on embedded sink(s)
Follow-up on 4111d6321f, the video
sink(s) used by fpsdisplaysink might not have the sync property. So we
check its existence to avoid warning from g_object_set() at runtime.

Fixes #604280
2009-12-16 18:35:58 -03:00
Thiago Santos
1b2e0eae67 qtmux: support more of j2k
Reads the new caps added to qtdemux by commit
c917d65e6d
and adds its corresponding atoms.

Also adds support for image/x-jpc as it is the same
as image/x-jp2, except that the buffers need to be
boxed inside a jp2c isom box before muxing. To solve
this the QTPads now have a function that (if
not NULL) is called when a buffer is collected. This
function returns a replacement to the current collected
buffer.

Fixes #598916
2009-12-14 20:20:11 -03:00
Thiago Santos
c996ac4c53 qtmux: Maps 'classification' tag for 3gpp files
Adds the mapping of 'classification' tags to writing of
'clsf' atoms for gppmux.

Based on a patch by: Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
2009-12-14 08:41:48 -03:00
Philippe Normand
4111d6321f fpsdisplaysink: expose video sink using a property
Exposes the internally used sink as video-sink property and
makes the default one to be autovideosink instead of
the hardcoded xvimagesink

Fixes #604280
2009-12-12 16:50:33 -03:00
Peter van Hardenberg
4aded03c5e adpcmenc: add new adpcm encoder element. 2009-12-11 16:32:48 -08:00
Michael Smith
2dec1de420 audioparse: fix a format string as reported on irc. 2009-12-11 10:25:16 -08:00
Michael Smith
4232bbb4e1 adpcmdec: make power of 2 more accurate. 2009-12-10 10:12:24 -08:00
Mark Nauwelaerts
ed058d7542 h264parse: fix caps parameters setting
Also consider PPS when selecting SPS to pick parameters from.
Only update caps when settings actually changed, and when these are valid.
2009-12-10 12:58:03 +01:00
Sebastian Dröge
05e8934311 shapewipe: Don't do pointer dereferences in the processing loop
Lowers the time taken there in my testcase from 6.91% to 6.20%
as measured by callgrind.
2009-12-10 10:41:23 +01:00
unknown
397da35350 rtpmux: update the current_ssrc from the caps
Fixes #604101
2009-12-09 15:00:53 +01:00
Håvard Graff
97ef05cbac rtpmux: release pads when disposing
Because of an allocated priv (GstRTPMuxPadPrivate), the element will
leak memory if not gst_rtp_mux_release_pad() is called. This would
previously only happen if release_request_pad() was called explicitly,
somthing that should not be neccesary.

Fixes #604099
2009-12-09 14:47:00 +01:00
Wim Taymans
b678101611 dtmfmux: method name cleanups 2009-12-09 14:47:00 +01:00
Michael Smith
830187fc0d qtmux: remove c++ comments and add some more comments. 2009-12-08 17:59:04 -08:00
Michael Smith
dd8d704bb9 qtmux: add ima adpcm support 2009-12-08 17:56:24 -08:00
Mark Nauwelaerts
c5847abf30 ac3parse: ensure sufficient data available for parsing 2009-12-08 16:06:31 +01:00
Mark Nauwelaerts
f3dbcb668a ac3parse: extract and use some more details for Enhanced Ac-3 streams 2009-12-08 16:06:31 +01:00
Mark Nauwelaerts
8f8f97dd2d baseparse: custom bufferflag indicates not to count frame in stats 2009-12-08 16:06:31 +01:00
Mark Nauwelaerts
9eae24835e ac3parse: perform additional frame checks when resyncing 2009-12-08 16:06:31 +01:00
Mark Nauwelaerts
bb8085a348 ac3parse: inform base parser of frame duration 2009-12-08 16:06:30 +01:00
Mark Nauwelaerts
8e91b3b3c5 ac3parse: improve src caps settings 2009-12-08 16:06:30 +01:00
Mark Nauwelaerts
eccffea369 ac3parse: initial version
MARGINAL rank for now; might take some time for some (useful)
framed=true/false to appear here and there.
2009-12-08 16:06:30 +01:00
Mark Nauwelaerts
15f1b7e97f amrparse: use (default) time handling of baseparser class 2009-12-08 16:06:30 +01:00
Mark Nauwelaerts
502011501b audioparsers: move 'amrparse' into it 2009-12-08 16:06:27 +01:00
Mark Nauwelaerts
186344c397 audioparsers: reference GstBaseParse now lives here 2009-12-08 16:05:26 +01:00
Mark Nauwelaerts
3441a41f83 audioparsers: rename 'aacparse' plugin to generic 'audioparsers' plugin 2009-12-08 16:05:26 +01:00
Mark Nauwelaerts
e3e4ba4f9e aacparse: separate plugin registration and rename plugin 2009-12-08 16:05:26 +01:00
Mark Nauwelaerts
d80b3e2f3b aacparse: ensure sufficient data available before accessing 2009-12-08 16:05:26 +01:00
Mark Nauwelaerts
64d6d5554e aacparse: use (default) time handling of baseparser class 2009-12-08 16:05:26 +01:00
Mark Nauwelaerts
d4c89e2492 aacparse: fixup comments to C-style 2009-12-08 16:05:26 +01:00
Mark Nauwelaerts
48f7d4e0c9 baseparse: reset passthrough mode to default (disabled) on activation 2009-12-08 16:05:25 +01:00
Mark Nauwelaerts
ea0dd8151b baseparse: ensure buffer metadata is writable 2009-12-08 16:05:25 +01:00
Mark Nauwelaerts
4b040d9a37 baseparse: fix/enhance DISCONT marking
In particular, consider DISCONT == !sync, and allow subclass to query
sync state, as it may want to perform additional checks depending
on whether sync was achieved earlier on.
Also arrange for subclass to query whether leftover data is being drained.
2009-12-08 16:05:25 +01:00
Mark Nauwelaerts
59614d02e7 baseparse: add timestamp handling, and default conversion
In particular, (optionally) provide baseparse with a notion of frames per second
(and therefore also frame duration) and have it track frame and byte counts.
This way, subclass can provide baseparse with fps and have it provide default
buffer time metadata and conversions, though subclass can still install
callbacks to handle such itself.
2009-12-08 16:05:25 +01:00
Mark Nauwelaerts
252cc9b36f baseparse: documentation fixes 2009-12-08 16:05:25 +01:00
Mark Nauwelaerts
9cc33340d7 baseparse: use_fixed_caps for src pad
After all, stream is as-is, and there is little molding to downstream's
taste that can be done.  If subclass can and wants to do so, it can
still override as such.
2009-12-08 16:05:25 +01:00
Teemu Katajisto
62ddc73623 camerabin: photography interface properties. Fixes #573370 (partially)
Added GObject properties to photography interface and implemented
them in camerabin. Changed zooming to check if video-source has
zoom property.
2009-11-27 15:10:57 +02:00
Teemu Katajisto
7dac3659c6 camerabin: add flags property. Fixes #573370 (partially)
Adds flags property to enable runtime configuration of
conversion and scaling elements. Also adds flag for disabling
audio completely.
2009-11-27 11:42:36 +02:00
Teemu Katajisto
7d65643656 camerabin: remove timeoverlay build-time definition 2009-11-27 11:41:59 +02:00
Thiago Santos
b343536de0 qtmux: replace _scale with _scale_round
Use the rounding version for improved sync between streams.
Small variations in the duration when muxing might lead to
cumullative wrong timestamping when demuxing.

Fixes #602936
2009-11-25 21:41:27 -03:00
Thiago Santos
379931cc6e qtmux: use timestamps for muxing
Try to use timestamps even when the stream has out of order
timestamps, only fall back to durations when we detect an
out of order buffer. Improves sync between streams.
2009-11-25 21:37:17 -03:00
Xavier Queralt Mateu
b6b1658e97 Expose lang codes in pmt 2009-11-24 10:14:49 +00:00
Mark Nauwelaerts
b4d9b81b8a h264parse: optional transforming from bytestream to sample format (or vice versa) 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
7f291456e7 h264parse: refactor a bit into a reset function 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
f3a153eecb h264parse: provide w/h from stream in src caps if not in sink caps 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
291f45b383 h264parse: parse SPS some more (e.g. for width/height) 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
47041f610d h264parse: optionally output AUs rather than NALUs
That is, Access Units (frames/fields) instead of (possibly) parts thereof.
2009-11-23 14:44:45 +01:00
Tim-Philipp Müller
c49cdd59ff Clean up LDFLAGS, LIBS, CFLAGS
Fix order, fix variables that don't exist, like GST_LIBS_LIBS,
use $(LIBM) instead of -lm, and move _LIBS from LDFLAGS to LIBADD.

Spotted by Havard Graff.
2009-11-22 19:30:58 +00:00
Tim-Philipp Müller
0909982636 librfb: include our own _stdint.h not stdint.h 2009-11-22 19:04:43 +00:00
Julien Moutte
676bd995b0 frei0r: Fix compilation warnings. 2009-11-20 17:33:21 +01:00
Julien Moutte
1f47dee944 amrparse: Fix compilation warnings 2009-11-20 17:32:44 +01:00
Julien Moutte
ae6ad7554c aacparse: Fix compilation warnings 2009-11-20 17:32:13 +01:00
Olivier Crête
3865aadb65 dtmf: Use _stdint.h from configure
https://bugzilla.gnome.org/show_bug.cgi?id=602465
2009-11-20 10:31:47 -05:00
Olivier Crête
33108dec82 dtmf: Update dtmfdetect to make it MSVC friendly
https://bugzilla.gnome.org/show_bug.cgi?id=602465
2009-11-19 20:33:07 -05:00
Thiago Santos
c883c2511c qtmux: fix missing debug argument
Adds a missing debug argument
2009-11-19 18:29:41 -03:00
Stefan Kost
7f1ac755e4 realaudiodec: reindent and make valgrind happy
The state-change tests reported access to uninitialized memory.
2009-11-19 21:11:36 +02:00
Mark Nauwelaerts
469446c7a4 qtmux: fix misinforming debug statement 2009-11-19 11:47:08 +01:00
Mark Nauwelaerts
a0851ebcbf qtmux: ensure writable buffer metadata before setting caps 2009-11-19 11:47:06 +01:00
Thiago Santos
51d5f9d6dd asfmux: improving debug messages
Improves debug messages for asfmux
2009-11-18 20:06:06 -03:00
Thiago Santos
edea30e303 qtmux: support for SVQ3
Adds support for muxing SVQ3 content. Usually this format
has decoder info that must be passed in the 'seqh' field
in the caps. It is also good to add the gama atom to make
quicktime not crash.

Fixes #587922
2009-11-18 17:27:38 -03:00
Edward Hervey
32126979cf aiff: Raise rank of muxer to PRIMARY 2009-11-18 17:58:39 +01:00
Edward Hervey
3e8fa62765 mve: Raise rank of muxer to PRIMARY 2009-11-18 17:57:59 +01:00
Edward Hervey
3d2cc4c82e asfmux: Raise rank to PRIMARY 2009-11-18 17:57:25 +01:00
Jan Schmidt
6b45854967 resindvd, dvdspu: Use new still-frame API from gst-plugins-base
Replace the current custom DVD still-frame events with new event
creation/parsing API from libgstvideo.
2009-11-18 03:10:32 +00:00
Jan Schmidt
2b25e97bef Revert "aiff: Disable aiff muxer for this release."
This reverts commit 7426be70ff.

Re-enable the aiff muxer now that gst-plugins-bad 0.10.17 is out
and we can rely on gst-plugins-base from git.
2009-11-18 03:10:31 +00:00
Thiago Sousa Santos
48a2bbd6ad asfmux: handle streams with different start times
Prevents losing sync when remuxing streams with different
start times. The smallest start time is selected as
the base time and all timestamps are subtracted
from it to get the actual time to be used when
muxing and building indexes

Fixes #586848
2009-11-17 23:04:54 -03:00
Thiago Sousa Santos
d70afdccd1 qtmux: do not leak a string
Frees a string after use. Also does some code organization
2009-11-17 23:04:54 -03:00
Thiago Sousa Santos
b53243fed3 qtmux: do not add size to the pointer variable
Do not wrongly add the result of the function to the
pointer to the buffer size. Instead, check the result
to see if the serialization was ok.

Based on a patch by: "Carsten Kroll <car@ximidi.com>"

Fixes #602106
2009-11-17 23:04:53 -03:00
Thiago Santos
1d155a6357 qtmux: handle 'late' streams
When muxing streams, some can start later than others. qtmux
now handle this by adding an empty edts entry with the
duration of the 'lateness' to the stream's trak.
It tolerates a stream to be up to 0.1s late.

Fixes #586848
2009-11-17 23:04:53 -03:00
Thiago Santos
1f7626f2f5 qtmux: adds the EDTS and ELTS atoms to atoms.c
These atoms will be useful for signaling streams
that start later in the file. As well for adding
edit lists if needed sometime later.
2009-11-17 23:04:53 -03:00
Michael Smith
dde31f09bd adpcmdec: decode adpcm without explicit length, as found in qt. 2009-11-17 18:00:27 -08:00
Jan Schmidt
181786f8bf dvdspu: Forward the still frame event downstream
Forward still-frame events downstream so elements like deinterlace
can use them.
2009-11-18 01:58:34 +00:00
Jan Schmidt
7426be70ff aiff: Disable aiff muxer for this release.
The aiff muxer relies on GstByteWriter API added after 0.10.25. Disable
it for this release.

Revert this commit after gst-plugins-bad 0.10.17
2009-11-09 19:08:49 +00:00
Jan Schmidt
f4201f9e30 asfmux: Uncomment --disable-static flag
For some reason that libtool flags line that prevents building
the static lib was commented out. Reported by Mart Raudsepp on IRC.
2009-11-09 14:11:30 +00:00
Sebastian Dröge
d64c99e138 inputselector: Remove useless variables and fix a uninitialized variable compiler warnings
Merged from gst-plugins-base, dfd51aa82a.
2009-11-09 11:49:47 +01:00
Sebastian Dröge
9a627f1106 inputselector: Make sure that running_time->timestamp calculation never becomes negative
Merged from gst-plugins-base, f365385458.
2009-11-09 11:49:47 +01:00
Sebastian Dröge
729c62263f inputselector: Use the start time (i.e. timestamp) as the last stop
Using the end time makes it impossible to replace buffers, which is
a big problem for subtitles that could have very long durations.

Merged from gst-plugins-base, 27034be461.
2009-11-09 11:49:47 +01:00
Sebastian Dröge
9a62107e94 inputselector: Improve debugging
Merged from gst-plugins-base.
2009-11-09 11:49:47 +01:00
Thiago Santos
fb9d7630e1 qtmux: Adding some ifs for protection
Adding somes ifs to protect against warning conditions
that might happen when upstream element is not sane

Fixes #600895
2009-11-06 00:46:12 -03:00
Thiago Santos
892555955a scaletempo: properly update new segments
Scaletempo was missing an update of 'stop' in
new segment parameters when pushing it downstream,
which caused files to end earlier when rate < 1.

Fixes #599903

Based on patch by: Bastian Hecht <hechtb@gmail.com>
2009-11-05 21:41:01 -03:00
Olivier Crête
d1db40df6e dtmfdetect: Add DTMF tone detector
It looks at raw audio data and emits messages when DTMF is detected.
The dtmf detector is the same Goertzel implementation used in FreeSwitch
and Asterisk. It is in the public domain.
2009-11-05 10:39:37 -05:00
Wim Taymans
5c30f3f954 Revert "inputselector: use get_caps_reffed()"
This reverts commit 49ec4f796a.

We can't use this new function yet.
2009-11-05 13:53:46 +01:00
Wim Taymans
49ec4f796a inputselector: use get_caps_reffed() 2009-11-05 13:29:55 +01:00
Olivier Crête
64eb516283 dtmfsrc: Reject empty caps 2009-11-04 22:44:26 -05:00
Olivier Crête
7089b452dd dtmfsrc: Use log level for repeated debug messages 2009-11-04 22:44:26 -05:00
Olivier Crête
da0d9810af dtmfsrc: Allow for any samplerate 2009-11-04 20:05:17 -05:00
Jan Schmidt
f46c247757 autoconvert: Fix previous commit: ensure we take a ref on the features 2009-11-04 23:32:07 +00:00
Jan Schmidt
7d53c39237 resindvd,autoconvert: Avoid depending on 0.10.26 API
Wait until after the next release to bump the core requirement.
Until then, don't use gst_plugin_feature_list_copy and
gst_pad_peer_get_caps_refed.
2009-11-04 23:17:33 +00:00
Edward Hervey
ba460f587a mpegdemux: Fix pointer-differences printout
There is unfortunately no G_*_FORMAT conversion specifier for differences of
pointers in glib, and we can't rely either on all platforms being 64bit.

So let's just cast the difference to a gint and be done with it.
2009-11-04 17:45:34 +01:00
Stefan Kost
e1e9be6dbe inputselector: also add inline to the proto to fix the build 2009-11-04 00:21:19 +02:00
Edward Hervey
aaba1b1d26 gst: Remove dead assignments and resulting unused variables
Merged from gst-plugins-base, 8cd1b5209b.
2009-11-03 18:14:12 +01:00
Sebastian Dröge
8ebd2e1be7 inputselector: Use the same iterate internal links function as in gst-plugins-base 2009-11-03 18:12:21 +01:00
Tim-Philipp Müller
d20e30f348 Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.

Merged from gst-plugins-base, 6f4c1ac583.
2009-11-03 18:11:13 +01:00
David Schleef
4cabe3c6c6 Remove Ronald Bultje from Authors field
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.

Merged from gst-plugins-base, 0e9bc5125a.
2009-11-03 18:09:55 +01:00
Wim Taymans
795a604ae0 inputselector: set output caps before pushing
Set the output caps on the srcpad before pushing the buffer because else core
will do a rather expensive check to see if we can actually accept those caps on
the srcpad.

Merged from gst-plugins-base, bdfb4b46d7.
2009-11-03 18:08:05 +01:00
Wim Taymans
dab1a44541 inputselector: install an acceptcaps function
Install a custom acceptcaps function instead of using the default expensive
check. We accept whatever downstream accepts so we pass along the acceptcaps
call to the downstream peer.

Merged from gst-plugins-base, 5b72f2adf9.
2009-11-03 18:06:11 +01:00
Jan Schmidt
570a0bb65c resindvd: Take a copy of the passed plugin features
Clarify the ownership of the internal plugin feature list by making
a copy of any passed list. Avoids crashes when freeing a passed list,
or leaks caused by not freeing any internally built list.
2009-11-02 11:33:19 +00:00
Jan Schmidt
454539a10e dvdspu: Fix PGS window parsing
Fix a problem introduced in the last PGS parsing patch by skipping
the window count byte after reading it.
2009-11-02 02:48:18 +01:00
René Stadler
e5dd78e0ca aiff: fix aiffparse debug category variable name
Fixes missing symbol when compiling with debugging, since this is now in sync
with the plugin_init in aiff.c.
2009-11-01 20:44:44 +02:00
René Stadler
a5f72046af aiff: init plugin debug category
Fixes assertion (or unused variable warning with DISABLE_NLS).
2009-11-01 20:41:03 +02:00
Tim-Philipp Müller
decd2acece aiff: add aiff elements to docs 2009-10-31 19:55:26 +00:00
Tim-Philipp Müller
57cce4754c aiff: gratuitious clean-ups: canonicalise function names, structs and defines 2009-10-31 19:37:08 +00:00
Tim-Philipp Müller
d65d288844 aiff: enable new aiff muxer
Fixes #598763 even more.
2009-10-31 17:51:19 +00:00
Robert Swain
20f4a1afd9 aiff: add basic AIFF muxer
Fixes #598763.
2009-10-31 17:49:36 +00:00
Tim-Philipp Müller
8246f755cf aiff: remove unused includes and fix flags order in Makefile.am
Also remove GST_PLUGINS_BASE_LIBS from LIBADD since we don't
need to link against any of the -base libs (we just use a define
from the gstaudio headers).
2009-10-31 17:25:15 +00:00
Tim-Philipp Müller
8a1b22836f aiff: rename 'aiffparse' plugin to 'aiff' 2009-10-31 17:22:25 +00:00
Olivier Crête
8d90ad76c9 rtpmux: Don't ignore requested pad name 2009-10-30 19:08:14 +00:00
Jan Schmidt
91499fd9a7 mpegtsdemux: Don't send new-segment with start time == -1
When sending new-segment to a stream, ensure that there is either a valid
PCR, or else wait until there's a PTS on the stream (dropping packets if
needed) in order to avoid generating an invlaid new-segments event.

https://bugzilla.gnome.org/show_bug.cgi?id=595161
2009-10-29 10:53:10 +00:00
Michael Smith
29fe6205ca id3mux: glib doesn't reliably null-terminate wide-character encodings in
g_convert, so write the null-terminator separately and explicitly.
2009-10-27 14:32:30 -07:00
Thiago Santos
c3aaf2a391 asfmux: fix tag writing bug
g_convert seems to add a single null terminating byte to
the end of the string, even when the output is UTF16, we
force the second 0 byte when copying to the output buffer.
This issue was causing random crashes because it was
assumed that the string resulting from g_convert had
2 extra bytes, but it has only one.
2009-10-27 16:39:56 -03:00
Jan Schmidt
32ebb79f0b autoconvert: Support installing identity as the initial child
Add the 'initial-identity' property, which inserts identity for
at startup for event passing, and replaces it with a new child
when the first buffer (and caps) actually arrives.

https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt
55a3f6a08c autoconvert: Cache incoming new segment events and push to children.
Cache incoming new-segment info.

When installing a child element, inform it of the current segment info.

https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt
ee8b143e95 autoconvert: Add some debug in factory caps intersection 2009-10-27 12:23:23 +00:00
Jan Schmidt
77e017143e autoconvert: Simple fixes.
Free the plugin feature list on dispose.
Output a debug message when downstream returns a fatal flow result
Fix awkward wording in a debug warning.
2009-10-27 12:23:23 +00:00
Jan Schmidt
de829eb7d0 autoconvert: Gratuitously move GST_OBJECT_LOCK into a macro
Create GST_AUTOCONVERT_LOCK/UNLOCK macros that (for now) just call
GST_OBJECT_LOCK.
2009-10-27 12:23:22 +00:00
Thiago Santos
1069712438 mpegvideoparse: check width/height range
Checks if the width/height that are to be set on src pad caps
are within valid range of [16,4096]
2009-10-26 09:04:49 -03:00
Thiago Santos
8db2821791 gppmux: Add support for 3gr6
Keep track of the chunk durations to be able to add 3gr6
brand if it is a faststart file and the longest chunk is
smaller than a sec. Implemented according to 3gpp
TS 26.244 v6.4.0 (2005-09)

Fixes #584361
2009-10-26 08:59:46 -03:00
Thiago Santos
2e9e240285 qtmux: Only push ftyp later (in faststart mode)
In faststart mode, there is no need to send the ftyp
right at the beginning of the stream. Waiting and sending it
only later (when the moov atom is ready to be sent) provides
us with more information about the stream and we can better
select the compatible brands.
2009-10-26 08:59:45 -03:00
Thiago Santos
5d63c26b08 qtmux: Improve error message
Improve error message when we can't get or estimate the
timestamp/duration of a buffer
2009-10-26 08:59:45 -03:00
Wim Taymans
ca6e2f1fa3 camerabin: fix build 2009-10-24 16:31:26 -04:00
Stefan Kost
8c0203ec36 camerabin: remove abbreviations from the property names. Fixes #573370 (partialy)
Also rename their use in tests and examples.
2009-10-24 15:14:26 +03:00
Stefan Kost
e1dccb6fd7 build: use gst-glib-gen.mak to fix the glib build rules.
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-24 15:14:26 +03:00
Stefan Kost
b890ecd83c camerabin: code cleanups
Align element initialisation. This should be re-thought, g_object_new zeros things already.
Harmonize the element getters for the src/sinks to return what we actualy use.
2009-10-24 15:14:26 +03:00
Tommi Myöhänen
fe70981023 camerabin: implement video preview creation
Completes preview creation mechanism to be able to provide a preview
image for video clips too.
2009-10-24 15:14:25 +03:00
Stefan Kost
52e314ef81 camerabin: set camerabin default sources/sinks like in playbin2. Fixes #574434
This uses same approach like in playbin, namely checking for user defined
element, auto{audio,video}{sink,src} and finally DEFAULT_{AUDIO,VIDEO}{SRC,SINK}
defines from config.h.
2009-10-24 15:14:25 +03:00
Tim-Philipp Müller
79fe732785 mpegpsmux: some minor build fixes
CLFAGS -> CFLAGS, and fix order of variables while we're at it.
2009-10-22 11:55:41 +01:00
Jan Schmidt
251afdee91 autoconvert: Take the object lock fewer times
When starting up and creating the list of element factories, only
take the object lock twice instead of 3 times.
2009-10-22 11:41:08 +01:00
Jan Schmidt
997f180b85 autoconvert: Don't hold the object lock when pushing
When pushing out cached events, don't hold the object lock. Avoids
deadlocks starting up DVD playback.
2009-10-22 11:41:07 +01:00
Michael Smith
2caac8d175 id3tag: actually write image to APIC tag. 2009-10-16 14:37:02 -07:00
Jan Schmidt
0fcf8001b1 autoconvert: Use gst_pad_peer_accept_caps instead of gst_pad_set_caps.
gst_pad_set_caps on the internal source pad always succeeds, because
caps propagate to the peer with buffers, not immediately. Using
gst_pad_peer_accept_caps properly checks whether the actual
sub-element can accept caps when they change.

https://bugzilla.gnome.org/show_bug.cgi?id=575568
2009-10-16 11:09:15 +01:00