Commit graph

5510 commits

Author SHA1 Message Date
Mark Nauwelaerts
559b3ead93 baseparse: proper initial values for index tracking variables 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
f3da619dd2 baseparse: arrange for consistent event handling 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
18b347296c baseparse: header style cleaning 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
2c872ad913 baseparse: provide some more initial frame metadata in parse_frame
... and document accordingly.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
6a45c4f65e baseparse: refactor passthrough into format flags
Also add a format flag to signal baseparse that subclass/format can provide
(parsed) timestamp rather than an estimated one.  In particular, such "strong"
timestamp then allows to e.g. determine duration.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
1c89488c50 baseparse: introduce a baseparse frame to serve as context
... and adjust subclass parsers accordingly
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
400198b2cd baseparse: restrict duration scanning to pull mode and avoid extra set_caps call 2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
3e9d5c4bf8 baseparse: update some documentation
Also add some more debug.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
829507b650 baseparse: allow increasing min_size for current frame parsing only
Also check that subclass actually either directs to skip bytes or
increases expected frame size to avoid going nowhere in bogus
indefinite looping.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
18b69e9320 baesparse: fix refactor regression in loop based parsing 2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
f4f7306e37 baseparse: pass all available data to subclass rather than minimum
Also reduce some adapter calls and add a few debug statements.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
e54e2a9616 baseparse: fix reverse playback handling 2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
695c9599f4 baseparse: minor typo and debug statement cleanup 2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
fcd0f5cb7a baseparse: reduce locking
... which is either already mute and/or implicitly handled by STREAM_LOCK.
2011-01-28 12:16:56 +01:00
Thiago Santos
68bff61732 camerabin2: Do not forget to unref some stuff
Cleanup properly by unrefing the encoding profile and preview caps
2011-01-26 14:31:13 -03:00
Thiago Santos
b66dde5746 camerabin2: Add names to some elements
Adds names to instances of some elements to make debugging easier
2011-01-26 14:31:13 -03:00
Thiago Santos
6395b45908 camerabin2: Handle videosink states more carefully
When going to ready, camerabin2 could create an empty file
if the videosink was put to ready. This patch only puts videosink
to ready on the PAUSED_TO_READY state change if it is on PAUSED
or PLAYING.
2011-01-26 14:31:12 -03:00
Mark Nauwelaerts
3da135ce02 baseparse: avoid loop in frame locating interpolation 2011-01-26 17:16:49 +01:00
Thiago Santos
25062fc384 wrappercamerabinsrc: Remove unused macro 2011-01-24 18:36:58 -03:00
Thiago Santos
a791f5070c wrappercamerabinsrc: Check the start time of buffers
Be careful when trying to create a newsegment event to avoid
start times of -1 from invalid buffer timestamps
2011-01-24 18:05:20 -03:00
Vincent Penquerc'h
c3d05d6006 dvdspu: don't write clipped lines to the output buffer
We may not increment the output pointer, but it'll still be just
off the end of the allocated area.

https://bugzilla.gnome.org/show_bug.cgi?id=602847
2011-01-24 19:47:46 +01:00
Thiago Santos
4ec3189575 camerabin2: Update porting file
Adds porting information about using encodebin on camerabin2
2011-01-24 14:50:30 -03:00
Thiago Santos
bccae0f994 camerabin2: Add image-done message
Post an image-done message when a new image is saved to disk
2011-01-24 14:50:30 -03:00
Thiago Santos
a715b46c7f camerabin2: Implement tagsetter interface 2011-01-24 14:50:30 -03:00
Thiago Santos
ccb1960a42 camerabin2: Add a property to select the encoding profile
Adds a video-profile to allow selecting which encoding profile
to use for video recordings
2011-01-24 14:50:29 -03:00
Thiago Santos
e5f267f682 camerabin2: Removing videorecordingbin
Removing videorecordingbin as we now use encodebin for it
2011-01-24 14:50:29 -03:00
Thiago Santos
f1d02cf0c0 camerabin2: Move to encodebin 2011-01-24 14:50:29 -03:00
Thiago Santos
31dbc2eeba wrappercamerabinsrc: Set output-selector pad-negotiation-mode to none
Use output-selector none negotiation mode as it was the default before
the last changes. This likely needs to be fixed to use 'active' on
camerabin2
2011-01-24 14:50:29 -03:00
Thiago Santos
3a495eaafc wrappercamerabinsrc: Handle state change failures
When its internal element fails to change state, don't act as
if succeeded.
2011-01-24 14:50:29 -03:00
Thiago Santos
9863feb328 camerabin2: Implement previewing
Implement previewing functionality using 2 properties. A boolean
(post-previews) that indicates if previews should be posted, and a
GstCaps (preview-caps) to provide the desired preview caps.

wrappercamerabinsrc implements previewing by supplying the captured
image to a pipeline to adapt it to the required caps before posting.
2011-01-24 14:50:29 -03:00
Thiago Santos
aa671439e1 camerabin2: Add methods for preview image message posting
Adds a helper struct and functions for implementing a preview message
in camerabin2.
2011-01-24 14:50:29 -03:00
Thiago Santos
bc1f57a645 wrappercamerabinsrc: Use drop_eos function from camerabingeneral
There was already a event probe function for dropping EOS on
camerabingenereal, so use that instead of replicating the code
2011-01-24 14:50:28 -03:00
Thiago Santos
0b3ad60269 camerabin: add names for more elements 2011-01-24 11:07:28 -03:00
Mark Nauwelaerts
289cd65abd flacparse: mind gst_buffer_unref not liking NULL
Fixes #639950.
2011-01-19 18:41:59 +01:00
Thiago Santos
cbbdfee98a mxfdemux: Fix unitialized variable warning 2011-01-18 18:18:03 -03:00
Thiago Santos
a6a982e8be audioparsers: baseparse: Be careful to not lose the event ref
Don't unref the event if it hasn't been handled, because the caller
assumes it is still valid and might reuse it.

I ran into this problem when transcoding an AVI (with mp3 inside)
to gpp.

https://bugzilla.gnome.org/show_bug.cgi?id=639555
2011-01-15 13:48:26 -03:00
Mark Nauwelaerts
b496bf923c qtmux: set src pads when starting file
... rather than at _init time, so they are also available following a
pad (de)activation cycle.

https://bugzilla.gnome.org/show_bug.cgi?id=639338
2011-01-14 00:38:56 +00:00
Luciana Fujii Pontello
b55775a9d3 camerabin: Enable conversion flags
Camerabin default should just work, so we need to enable audio, image
and video conversions.

https://bugzilla.gnome.org/show_bug.cgi?id=639456
2011-01-13 18:15:13 -03:00
Tim-Philipp Müller
aba0899b19 dcaparse: fix sync word for 14-bit little endian coding
Fix copy'n'paste bug that made us look for the raw little endian
sync word twice instead of looking for the 14-bit LE sync word
as well. Fixes parsing of such streams (see #636234 for sample file).
2011-01-13 17:10:13 +00:00
Tim-Philipp Müller
095eaa1752 docs: minor baseparse docs/comment fixes
Remove copy'n'paste leftovers.
2011-01-13 16:28:24 +00:00
Teemu Katajisto
85a355fd84 camerabin: set pad-negotiation-mode to active for output-selector
Fixes #639413.
2011-01-13 15:00:21 +02:00
Stefan Kost
f9dfd1effb asfmux: use g_error_free instead of g_free 2011-01-12 16:56:28 +02:00
Edward Hervey
a2b5e7863e y4mdec: Default colorspace is I420
https://bugzilla.gnome.org/show_bug.cgi?id=639296
2011-01-12 12:00:24 +01:00
Edward Hervey
ee0c9ae2f3 mpegtspacketizer: Don't forget the GType when using caps_new_simple() 2011-01-10 19:11:22 +01:00
Tim-Philipp Müller
d4441a3025 mpegtsdemux: fix silly way of creating caps 2011-01-10 11:25:47 +00:00
Karol Sobczak
0b4dfa685d mpegtsdemux: fix re-syncing on invalid data after seek
Or possibly even at startup. If we couldn't find a sync within
the first few bytes, we'd just push more data into the adapter
but never discard any of the invalid data at the beginning, so
would never be able to re-sync.

https://bugzilla.gnome.org/show_bug.cgi?id=639063
2011-01-10 11:18:52 +00:00
Tim-Philipp Müller
b700377e22 camerabin: use private input-selector that still has "select-all" property
The "select-all" property was removed when input-selector was moved
to core, but camerabin uses this, so make camerabin use a private
copy until a better fix is found.
2011-01-08 02:43:41 +00:00
Tim-Philipp Müller
f6591e5938 smoothwave: remove old 0.8 example containing code with sideeffects in g_return_if_fail()
May just as well remove it rather than fix it, so it doesn't show
up in greps for this any longer.
2011-01-08 00:20:35 +00:00
Tim-Philipp Müller
e5f1cdd0e9 Revert "mpegvideoparse: fix timestamp generation"
This reverts commit 2271608c43.

This patch needs more work so it doesn't cause grave playback
regressions (multi-second freezes) with some files that have
slightly broken timestamps but play fine everywhere else.

https://bugzilla.gnome.org/show_bug.cgi?id=636279
https://bugzilla.gnome.org/show_bug.cgi?id=632222
2011-01-07 18:49:02 +00:00
Tim-Philipp Müller
89fed534e8 mpegtsdemux: fix PAT and PMT info-related object leaks 2011-01-07 02:12:11 +00:00
Edward Hervey
6b9e2628b7 jpegparse: Fix unitialized variable on macosx 2011-01-06 12:51:27 +01:00
Edward Hervey
0a55306c40 jp2kdecimator: Fix unitialized variables on macosx 2011-01-06 12:50:14 +01:00
Edward Hervey
063be2f972 flacparse: Fix unitialized variable on macosx 2011-01-06 12:49:43 +01:00
David Schleef
84406fde30 y4mdec: Fix copyright 2011-01-05 18:27:14 -08:00
Edward Hervey
c627cd40e7 y4m: Fix unitialized variables on macosx 2011-01-05 16:43:45 +01:00
Tim-Philipp Müller
ed8e27b237 dvbsuboverlay: some more minor clean-ups 2011-01-05 13:44:04 +00:00
Janne Grunau
43bfb0009a dvbsuboverlay: fix leak of "clear screen" DVBSubtitles structs 2011-01-04 15:06:17 +00:00
Janne Grunau
9f02f693de dvbsuboverlay: fix two minor deinitialization memory leaks 2011-01-04 13:51:55 +00:00
Tim-Philipp Müller
eec67aeee6 camerabin2: fix cflags and libs order in Makefile.am 2011-01-03 23:49:51 +00:00
Janne Grunau
994156c1b8 dvbsuboverlay: remove unnecessary RGB -> YUV conversion by using YUV palettes
the default CLUTs still use RGB -> YUV conversions since the standard defines
them as RGBA values.
2011-01-03 20:23:24 +00:00
Mark Nauwelaerts
38c9342978 qtmux: adjust nasty case timestamp tracking
That is, all sorts of problems arise with re-ordered input timestamps that
tend to defy automagic handling for every case, so allow for a few variations
that can be tried depending on circumstances.

Also try to document accordingly.

Also fixes #638288.
2011-01-03 17:40:52 +01:00
Felipe Contreras
460785352c qtmux: get rid of timestamp overprotectiveness
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-01-03 17:40:52 +01:00
Mark Nauwelaerts
cd690c2bc3 qtmux: simplify and fix pts_offset storing
In particular, only write a ctts atom if and only if ever a non-zero offset.
2011-01-03 17:40:52 +01:00
Mark Nauwelaerts
8f174304ee qtmux: add some more documentation 2011-01-03 17:40:51 +01:00
Mark Nauwelaerts
1ff6806cd4 qtmux: remove large-file property
Rather, auto-determine if 64-bits fields are needed for a valid result, and
stick to plain 32-bits if not needed.

API: GstQTMux:large-file (removed)
2011-01-03 17:40:51 +01:00
David Schleef
73d85fa438 colorspace: Disable matrixing on big-endian
It's broken until someone writes better Orc code.  Fixes #631232.
2011-01-02 16:13:56 -08:00
David Schleef
94f6f34ace mpegtsmux: Set adaptation flag when appropriate
Specifically, when there's stuff to go into the adaptation
header.
2011-01-02 14:52:34 -08:00
David Schleef
ea113a79aa mpegtsmux: Set random_access_indicator for keyframes 2011-01-02 14:52:34 -08:00
Tim-Philipp Müller
21fb0dc586 gaudieffects: dist python examples 2011-01-02 13:30:11 +00:00
David Schleef
68493aadab dtmf: Fix build failure caused by previous commit 2010-12-31 00:37:30 -08:00
David Schleef
edd1f791ca mpegdemux: Fix c99-ism 2010-12-30 19:25:46 -08:00
David Schleef
04c44d18c9 legacyresample: Use math-compat header 2010-12-30 19:25:46 -08:00
David Schleef
2f5c92f1c8 change M_PI to G_PI 2010-12-30 19:25:46 -08:00
David Schleef
512c66d8ba frei0r: convert uint32_t to guint32 2010-12-30 19:25:46 -08:00
David Schleef
57095d302d dtmf: build fixes for MSVC
Use gint16 and G_PI.
2010-12-30 18:39:21 -08:00
David Schleef
5fed7a264c dtmf: reindent 2010-12-30 18:39:12 -08:00
David Schleef
0073550300 dataurisrc: use g_ascii_strcasecmp() 2010-12-30 18:08:32 -08:00
Tim-Philipp Müller
c6c3d9781b selector: move input-selector and output-selector to core
https://bugzilla.gnome.org/show_bug.cgi?id=614306
2010-12-31 01:41:36 +00:00
Tim-Philipp Müller
222be5f0e9 valve: move valve element/plugin to core
https://bugzilla.gnome.org/show_bug.cgi?id=630808
2010-12-31 01:41:18 +00:00
Thiago Santos
95597d8f0e camerabin2: Various leak fixes
Various leak fixes and some code reorganization
2010-12-29 13:24:06 -03:00
Thiago Santos
890c4ab4fd wrappercamerabinsrc: Implement video capture renegotiate
Handle caps renegotiation from camerabin2's renegotiate event
to allow video capture to be done with the user's requested
resolution.
2010-12-29 13:24:06 -03:00
Thiago Santos
203508079a camerabin2: Fix renegotiate event pushing
Use a hack to make the event upstream to reach the camera source
instead of going downstream and being useless.

This was already fixed this way for image srcpad renegotiate and
video srcpad was left unfixed.
2010-12-29 13:24:05 -03:00
Thiago Santos
1c761196f7 wrappercamerabinsrc: Refactor internal pipeline
Instead of linking 3 src pads from tee to the ghostpads, use 2
srcpads and add an output-selector to completely split caps
negotiation of video/image modes. I don't think there is an
use case that would require image and video pads to be used
at the same time.
2010-12-29 13:24:05 -03:00
Thiago Santos
07279bac7b camerabin: mode can be only image or video
No need to check if camerabin is on video mode if it isn't on
image mode as those are the only 2 modes available.

Additionally, if mode gets corrupted somehow and would be neither
image or video it would cause a null pointer dereferencing some
lines of code below, so this is safer.
2010-12-28 17:16:05 -03:00
Thiago Santos
895c07ef04 camerabin: Remove unused variable 2010-12-28 16:55:11 -03:00
Thiago Santos
a2f54e26f2 asfmux: Fix plugin package name/origin 2010-12-27 16:58:26 -03:00
Alessandro Decina
143efa727e dvbsuboverlay: fix compiler warnings 2010-12-27 13:20:28 +01:00
Tim-Philipp Müller
7a21a19499 dvbsuboverlay: clean-up: allocate flat array of rectangles
instead of an array of pointers to individually-allocated rectangles.
2010-12-27 11:10:53 +00:00
Tim-Philipp Müller
e35a3ddbf9 dvbsuboverlay: clean-up: merge private data struct into main struct 2010-12-25 16:31:00 +00:00
Tim-Philipp Müller
f8dc80a8b7 dvbsuboverlay: clean-up: dvb sub parser helper doesn't need to be a GObject 2010-12-25 16:30:50 +00:00
Vincent Penquerc'h
4422cca1d3 mve: do not use the pad buffer allocation functions in demuxers
https://bugzilla.gnome.org/show_bug.cgi?id=637929
2010-12-24 14:18:58 +01:00
Vincent Penquerc'h
29c6a95417 mpegdemux: do not use the pad buffer allocation functions in demuxers
https://bugzilla.gnome.org/show_bug.cgi?id=637931
2010-12-24 14:17:51 +01:00
Tim-Philipp Müller
e6d0435a8e mpeg4videoparse: try harder to make buffer metadata writable before modifying
Also, check buffer for NULL-ness before dereferencing it.

https://bugzilla.gnome.org/show_bug.cgi?id=637824
2010-12-23 22:03:16 +00:00
Thiago Santos
1ff89c5f83 videorecordingbin: Fix leaks 2010-12-23 14:24:45 -03:00
Thiago Santos
2513e9f01b wrappercamerabinsrc: Add converters for viewfinder branch
Viewfinder branch should have converters as it has to work
always anyway.
2010-12-23 13:24:56 -03:00
Thiago Santos
450f54b020 viewfinderbin: Remove leaks
Removing various leaks from viewfinderbin
2010-12-23 13:24:56 -03:00
Thiago Santos
58d4315965 camerabin2: more logs 2010-12-23 13:24:56 -03:00
Thiago Santos
e94c5b3b9b wrappercamerabinsrc: Handle camerabin2 custom renegotiate events 2010-12-23 13:24:55 -03:00
Thiago Santos
1e6be5ec56 camerabin2: Use custom renegotiate event
Adds a custom renegotiate event that is pushed to the camerasrc pad
that needs renegotiation due to the user selecting a new capture
caps for that pad.

This is a way of notifying the source that it should update its caps, even
if it doesn't use pad allocs.
2010-12-23 13:24:55 -03:00
Thiago Santos
b1a361b566 wrappercamerabinsrc: Add local mode 2010-12-23 13:24:55 -03:00
Thiago Santos
85bf8f2335 camerabin2: Adds properties for capture caps
Adds properties for selecting caps for video and image captures
2010-12-23 13:24:55 -03:00
Teemu Katajisto
a7fe67700e camerabin2: remove abreviations from imagecapturebin 2010-12-23 13:24:55 -03:00
Thiago Santos
539f10f4d9 basecamerasrc: More cleanup
Remove old legacy code copied from camerabin(1) that should be handled
by caps negotiation on camerabin2
2010-12-23 13:24:54 -03:00
Thiago Santos
029e63a31e wrappercamerabinsrc: Remove unused variable
Remove wait_for_prepara variable that wasn't being used
2010-12-23 13:24:54 -03:00
Thiago Santos
99210b0a3a camerabin2: Rename v4l2camerasrc to wrappercamerabinsrc
Use a better name for the element that wraps single pad src element
into a 3pad source required by camerabin2.
2010-12-23 13:24:43 -03:00
Thiago Santos
b822ad3cd3 v4l2camerasrc: remove video filter property code
Removes some unused custom video filter element property code
2010-12-23 13:20:36 -03:00
Thiago Santos
706740845b viewfinderbin: Fix video-sink property again
Avoid switching the element on the set_property function, instead wait
for the next NULL -> READY transition.
2010-12-23 13:20:36 -03:00
Thiago Santos
07d58dbf84 v4l2camerasrc: add video-src property
Adds a property to select the src element to be used internally
on v4l2camerasrc. Yeah, I know, this element should have a better
name.
2010-12-23 13:20:35 -03:00
Thiago Santos
b81677032c camerabin2: adds PORTING document
Adds a PORTING document to explain the differences from
camerabin to camerabin2 and help application developers on
porting from one to another.
2010-12-23 13:20:35 -03:00
Thiago Santos
4938c2e9ea camerabin2: Move basecamerasrc to gst-libs
Move the base camera src class to gst-libs/gst/basecamerabinsrc to
allow it to be included from the tests.
2010-12-23 13:20:31 -03:00
Teemu Katajisto
4a28d5f478 camerabin2: add videorecordingbin::video-muxer property 2010-12-23 13:18:58 -03:00
Teemu Katajisto
c76aeb77e5 camerabin2: add videorecordingbin::video-encoder property 2010-12-23 13:18:58 -03:00
Teemu Katajisto
78dc07987e camerabin2: remove abbreviations from videorecordingbin 2010-12-23 13:18:58 -03:00
Teemu Katajisto
7409211055 camerabin2: imagecapturebin: release objects and memory allocations 2010-12-23 13:18:58 -03:00
Thiago Santos
59c48d3443 camerabin2: Add camera-src property
Adds a property to select the camera source element to be used.
Changing only happens on the next NULL->READY transition
2010-12-23 13:18:57 -03:00
Thiago Santos
adc3cdc6aa camerabin2: Rename variables
Use better name for the variables, making the code clearer. Also
keep a ref for some internal elements to avoid fetching them
by name when needed later.
2010-12-23 13:18:57 -03:00
Thiago Santos
201e9ac221 camerabin2: Add properties for supported capture caps
Adds 2 property for getting the supported image/video capture
caps from the camera source.
2010-12-23 13:18:57 -03:00
Thiago Santos
f52d805166 camerabin2: Put enums inside their classes .c
Remove global list of properties' enums and put them
inside their classes .c
2010-12-23 13:18:57 -03:00
Thiago Santos
014b8f97f8 viewfinderbin: Fixes to video-sink handling
Handle video-sink more carefully, checking if it should
be already added to the bin, and removing old ones when
replacing.
2010-12-23 13:18:57 -03:00
Teemu Katajisto
89142163b1 camerabin2: add imagecapturebin::image-muxer property 2010-12-23 13:18:57 -03:00
Teemu Katajisto
87e0cbff38 camerabin2: add imagecapturebin::image-encoder property 2010-12-23 13:18:57 -03:00
Teemu Katajisto
e5d388698a camerabin2: remove abreviations from imagecapturebin 2010-12-23 13:18:57 -03:00
André Dieb Martins
7c47fc497f camerabin2: implement viewfinderbin::video-sink property to override default video output 2010-12-23 13:18:56 -03:00
Thiago Santos
80ff930012 basecamerasrc: Make construct_pipeline optional
Construct pipeline should be optional. Subclasses that don't
have internal elements don't need it.
2010-12-23 13:18:56 -03:00
Stefan Kost
ba2368d0bc basecamerasrc: write more details on the api docs 2010-12-23 12:11:59 -03:00
Stefan Kost
4b23fe6872 basecamerasrc: use the enum type for mode 2010-12-23 12:11:59 -03:00
Stefan Kost
17d5914c59 basecamerasrc: comment cleanups 2010-12-23 12:11:59 -03:00
Tim-Philipp Müller
e29a1073b1 mpeg4videoparse: ensure buffer metadata is writable before modifying it
https://bugzilla.gnome.org/show_bug.cgi?id=637824
2010-12-22 21:46:00 +00:00
Edward Hervey
bcb8eab616 id3mux: Set to GST_RANK_PRIMARY
We want it to take precedence over any other id3 formatter.
2010-12-22 18:13:36 +01:00
Sebastian Dröge
825052ba3d autoconvert: Fix some more leaks and reorganize unref code 2010-12-21 18:01:28 +01:00
benjamin gaignard
f0ebcba6c4 autoconvert: Avoid some leaks in autoconvert
unref sink and src pad after gst_pad_by_direction calls unref
element if gst_auto_convert_activate_element failed.

See bug #637553.
2010-12-21 17:50:20 +01:00
Olivier Crête
8c371e5c35 autoconvert: Use gst_caps_can_intersect() 2010-12-19 17:40:12 +05:30
Sebastian Dröge
5e5092e92c qtmux: Free AtomInfo structs 2010-12-19 12:53:34 +01:00
Sebastian Dröge
435bc16497 qtmux: Free tag string after use 2010-12-19 12:50:30 +01:00
Sebastian Dröge
b297490b2a imagecapturebin: Don't leak pad and sink 2010-12-19 12:09:41 +01:00
Sebastian Dröge
9605ff9aa8 imagecapturebin: Don't leak pad template created from static pad template 2010-12-19 12:05:11 +01:00
Sebastian Dröge
073916c9fb imagecapturebin: Don't leak location string 2010-12-19 12:03:03 +01:00
Sebastian Dröge
1f8ba27334 jifmux: Don't leak taglist 2010-12-19 12:00:25 +01:00
Sebastian Dröge
ec85dfaa61 autovideoconvert: Don't leak pad templates created from static pad templates 2010-12-19 11:38:03 +01:00
Sebastian Dröge
530eca9984 autovideoconvert: Add autoconvert child before chaining up to parent state change function
...and remove/unlink autoconvert child when going back to NULL.
2010-12-19 11:21:27 +01:00
Lasse Laukkanen
699e0abd49 qtmux: allow zero duration tracks 2010-12-17 19:30:28 +01:00
Tim-Philipp Müller
767c29cc2f dvbsuboverlay: use GST_LOG etc. for logging
The dvbsub routines were originally designed as a mini lib with a
log callback (which from the looks of it in our case would always
be called and always assemble the string even with debug output
disabled). Some of these debug statements can probably be removed
or cleaned up some more.
2010-12-17 10:50:56 +00:00
Tim-Philipp Müller
c64df2ebc2 dvbsuboverlay: remove some unused defines 2010-12-17 10:50:47 +00:00
Tim-Philipp Müller
d9f83ad938 dvbsuboverlay: fix atomic access 2010-12-17 10:50:36 +00:00
Janne Grunau
b73ae45460 dvbsuboverlay: fix rendering artefacts
Initialize source x position for odd height special case.
2010-12-16 15:33:59 +00:00
Edward Hervey
b191fb2b05 dvbsuboverlay: The enable property is a boolean and not an integer 2010-12-16 11:29:07 +01:00
Sebastian Dröge
2561bb8fa7 autoconvert: Rename autocolorspace to autovideoconvert
This doesn't just convert between color spaces.
2010-12-16 09:59:42 +01:00
Benjamin Gaignard
c8d9cc5770 bayer2rgb: Add framerate to the sink caps
Fixes bug #637224.
2010-12-15 21:28:06 +01:00
Benjamin Gaignard
27ac6c3e47 autocolorspace: Add autoconvert based video format convert element
Fixes bug #636106.
2010-12-15 21:14:38 +01:00
Sebastian Dröge
a99e13cd5a dvbsuboverlay: Rename DVB subtitling media type to subpicture/x-dvb 2010-12-15 21:11:29 +01:00
Sebastian Dröge
18061222b9 mpegtsdemux: Rename DVB subtitling media type to subpicture/x-dvb 2010-12-15 21:11:11 +01:00
Sebastian Dröge
a71c3f7e48 dvbsuboverlay: Don't draw anything on the video if the enable property is set to FALSE 2010-12-15 20:54:35 +01:00
Sebastian Dröge
65598884d2 dvbsuboverlay: Add #defines for the property default values 2010-12-15 20:53:21 +01:00
Sebastian Dröge
e9fa2fcd8b dvbsuboverlay: Use g_atomic_int_get() for reading the max_page_timeout field 2010-12-15 20:51:12 +01:00
Sebastian Dröge
61c2b173c6 mpegtsdemux: Mark array static const and use G_N_ELEMENTS instead of sizeof 2010-12-15 20:49:57 +01:00
Janne Grunau
431ea2c697 mpegtsdemux: add DESC_DVB_SUBTITLING descriptor for language parsing 2010-12-15 20:47:25 +01:00
Janne Grunau
eaf1b316b0 mpegtsdemux: enable gather_pes only for DVB subtitle private streams 2010-12-15 20:47:25 +01:00
Janne Grunau
9b3b1aedea dvbsuboverlay: use atomic instructions to set/get enable property 2010-12-15 20:47:25 +01:00
Janne Grunau
533453186e dvbsuboverlay: add property to limit page_time_out to a setable maximum 2010-12-15 20:47:25 +01:00
Janne Grunau
36b101cfb8 dvbsuboverlay: implement display definition segment subtitle windows
simplifies subtitle scaling in blit_i420()
2010-12-15 20:47:25 +01:00
Janne Grunau
4d8220b033 dvbsuboverlay: scale subtitles according to the display size
Display size is either transmitted in the display definition segment or
implicitly defined to 720x576. The subtitle window information also present in
the display definition segment is not yet used.
2010-12-15 20:47:25 +01:00
Janne Grunau
83a84ba230 dvbsuboverlay: implement display definition segment parsing 2010-12-15 20:47:25 +01:00
Janne Grunau
2f6f78caa3 dvbsuboverlay: fix luma stride for scaled subtitles (display width != width) 2010-12-15 20:47:24 +01:00
David Schleef
9fd41486a2 y4mdec: Add y4mdec
Feel the y4m love.  It seeks.  It works in pitivi.
2010-12-14 01:27:05 -08:00
Mark Nauwelaerts
aae382bcc6 jpegparse: avoid leaking tag event 2010-12-13 16:25:29 +01:00
Mark Nauwelaerts
01e9b677a8 ac3parse: relax bsid checking
... to the widest possible spec interpretation.

Fixes #637062.
2010-12-13 15:29:33 +01:00
Matthew Ife
51c63587a1 rfbsrc: fail more gracefully if source gets disconnected or geometry changes
Don't get caught in an infinite loop if the source gets disconnected and also
support gracefully failing upon detecting the frame geometry has increased
(rather than segfaulting).

https://bugzilla.gnome.org/show_bug.cgi?id=635397
2010-12-12 23:36:56 +00:00
Mark Nauwelaerts
2056f4a633 jpegparse: avoid leaking converted comment string 2010-12-12 22:14:59 +01:00
Sebastian Dröge
ec300d007d ssim: Set classification to Filter/Analyzer/Video instead of Filter/Converter/Video
Fixes bug #636109.
2010-12-12 12:01:38 +01:00
Jan Schmidt
a4f2ab78ff gaudieffects: Avoid divide by 0 in burn element 2010-12-12 02:24:00 +11:00
Thiago Santos
b6d5763e05 basecamerasrc: Remove ghostpads
Remove ghost pads from basecamerasrc. Different implementations
of camera sources might not use ghostpads and use default pads.
2010-12-08 15:38:30 -03:00
Thiago Santos
91d8bbd8a1 basecamerasrc: Removing ununsed methods
Remove one unused method _finish_image_capture()
2010-12-08 15:38:30 -03:00
Thiago Santos
db72d691ca camerabin2: Cleanup
Removing commented code
2010-12-08 15:38:30 -03:00
Thiago Santos
24bc280806 basecamerasrc: Move start/stop capture signals to basecamerasrc
Move start/stop signals and ready-for-capture to basecamerasrc
as this should be present on all camera sources
2010-12-08 15:38:30 -03:00
Thiago Santos
87eddd54d5 basecamerasrc: Add mode property
Move mode property from v4l2camerasrc to basecamerasrc, as all
camera sources should handle it.
2010-12-08 15:38:29 -03:00
Thiago Santos
b11342d325 camerabin2: Reset all elements on video recording branch before capture
We need to reset the elements from the video recording branch, including
the queue and capsfilter in order to clear the eos state and activate
the pads.

This makes it possible to record multiple videos with camerabin2 in a
sequence, otherwise the source would get a unexpected return and
push EOS, stopping the whole pipeline.
2010-12-08 15:38:29 -03:00
Thiago Santos
5776a17c86 camerabin2: More debug logs
Sprinkle some more debugging logs
2010-12-08 15:38:29 -03:00
Thiago Santos
122a7bd556 camerabin2: Various fixes
As video recording bin's state is locked, we should always
remember of setting it to NULL when camerabin2 goes to NULL

Be more careful when using elements that might not
have been created yet

And do not set location property recursively on videorecordingbin
2010-12-08 15:38:29 -03:00
Thiago Santos
0685b8921e viewfinderbin: Improve elements creation
Be more careful with cleanup of elements. Also add some logs and
improve docs a little.
2010-12-08 15:38:29 -03:00
Thiago Santos
19e52f35ee camerabin2: remove unused code
General cleanup, removing unused bits
2010-12-08 15:38:28 -03:00
Thiago Santos
ba878c95b2 camerabin2: adds location property
Adds a location property to enable applications to select
the captured files names. Locations are handled just like
multifilesink ones

Also disables -Wformat-nonliteral to allow to use non-literals
on g_strdup_printf on camerabin and generate a sequence of
locations for captures.
2010-12-08 15:38:28 -03:00
Thiago Santos
5b3deecab9 camerabin2: Fix set/get property function names
Add more consistency to the function names by using
gst_camera_bin as the other functions.
2010-12-08 15:38:28 -03:00
Thiago Santos
cb915196e2 camerabin2: Handle vidbin state change individually
Keep vidbin state locked to avoid it going to playing without
being used and leaving an empty file created.

Check the docs on the code for details on the handling.
2010-12-08 15:38:28 -03:00
Thiago Santos
0ae8df4312 camerabin2: Keep it under --enable-experimental
camerabin2 is still under heavy development, activate it only if
the --enable-experimental flag is on.

Also add a note to the docs.
2010-12-08 15:38:28 -03:00
Thiago Santos
5be441adff v4l2camerasrc: Add ready-for-capture property
Adds property that informs if v4l2camerasrc is available
for starting a new capture.

It is useful for applications to know (via deep-notify) when the
property changes and a new capture is possible. Note, however, that
starting a new capture from the notify callback will cause a deadlock.
2010-12-08 15:38:28 -03:00
Thiago Santos
bd89d22da9 camerabin2: Update v4l2camerasrc to use start/stop signals
Removes the old logic for v4l2camerasrc that used the mode
property switching to start/stop captures to make it identical
to camerabin2 behavior and to allow the future addition of
pausing a video recording.

This also removes the MODE_PREVIEW as it became useless.
2010-12-08 15:38:28 -03:00
Thiago Santos
b4d73cb9a8 camerabin2: Cleanup capturing flag
Cleanup capturing flag when the source switches back to the
viewfinder mode
2010-12-08 15:38:28 -03:00
Thiago Santos
9df40915d6 v4l2camerasrc: Remove unnecessary padding 2010-12-08 15:38:28 -03:00
Thiago Santos
91b7f2d99e v4l2camerasrc: Implement video capture
Implements video capture on v4l2camerasrc by using the mode property,
when mode is set to video, the pad probe pushes a new segment
and starts pushing buffers on the pad, when it the property is
sent back to preview, the pad probe pushes an EOS and stops
pushing buffers.

This is controlled by a Recording State variable, that is protected
by the GST_OBJECT_LOCK. I don't think locking for every buffer is
nice, so we could find an alternative lockless way here.
2010-12-08 15:38:28 -03:00
Thiago Santos
596422d19c v4l2camerasrc: Fix image capture
Once a image is captured, v4l2camerasrc should return to the
preview mode and stop capturing.
2010-12-08 15:38:27 -03:00
Thiago Santos
6c7d7946f5 camerabin2: Keep mode definition at -enum file
Use 'mode' enum definition from gstcamerabin-enum file to avoid
conflicts between v4l2camerasrc and gstcamerabin2 modes.

For now there is a MODE_PREVIEW there that is only used on the
camerasrc, not sure if we are keeping it at the future, but for
now this works.
2010-12-08 15:38:27 -03:00
Thiago Santos
9095ee429a v4l2camerasrc: Adds mode property
Adds mode property to v4l2camerasrc
2010-12-08 15:38:27 -03:00
Thiago Santos
dee167edc8 camerabin2: Adding debug categories
Adding debug categories to v4l2camerasrc and camerabin2, also
removing generic category from camerabingeneral.
2010-12-08 15:38:27 -03:00
Thiago Santos
6c72fed8b4 camerabin2: Adding basic property and signals
Adds mode property to camerabin2, allowing users to
select between video and stills capture. Also adds
start/stop capture actions to trigger and stop
capturing
2010-12-08 15:38:27 -03:00
Thiago Santos
a938fd9192 camerabin2: Set filesink's async to FALSE
In order to preroll, camerabin2 should have its filesinks in
the imagecapturebin and videorecordingbin with async=FALSE.
2010-12-08 15:38:27 -03:00
Thiago Santos
1887669d6e camerabin2: Adding basic elements
Instantiating and linking basic elements on camerabin2
so it at least shows the viewfinder when running.
2010-12-08 15:38:27 -03:00
Thiago Santos
3db90e1d43 camerabin2: Adds a stub element for camerabin2
Adds camerabin2 element, it is now a pile of stubs.
2010-12-08 15:38:27 -03:00
Thiago Santos
39093d2199 camerabin2: v4l2camerasrc: Remove platform specific code
Remove platform specific code
2010-12-08 15:38:27 -03:00
Thiago Santos
7f41c2594d camerabin2: Removing uneeded properties
Removing uneeded and unregistered properties.
2010-12-08 15:38:26 -03:00
Thiago Santos
3afa2c3a25 camerabin2: v4l2camerasrc: Fix property warning
Avoid setting a property that doesn't exist.
2010-12-08 15:38:26 -03:00
Thiago Santos
fcf80d0253 camerabin2: v4l2camerasrc: Remove unused variable
Removed unused leftover variable
2010-12-08 15:38:26 -03:00
Thiago Santos
0dce17a4e8 camerabin2: Adds video recording bin
Adds an bin that is responsible for encoding and saving video
streams to files.

For now it is simply a ffmpegcolorspace ! theoraenc ! oggmux !
 filesink bin.

Still uncapable of recording audio.
2010-12-08 15:38:26 -03:00
Thiago Santos
94da473ba7 camerabin2: Adding v4l2camerasrc from robclark's branch
Adds 3-pad v4l2 camera source from Rob Clark's camerabin
branch on http://gitorious.org/robclark-gstreamer/gst-plugins-bad
2010-12-08 15:38:26 -03:00
Thiago Santos
12245366d8 camerabin2: Adds new imagecapturebin
Adds an bin that is responsible for image captures.

It is a simple ffmpegcolorspace ! jpegenc ! jifmux ! multifilesink
for now.
2010-12-08 15:38:26 -03:00
Thiago Santos
3a8ec18f96 camerabin2: Move plugin init to a separate file
Moves plugin init to gstplugin.c to allow multiple
elements to register themselves.
2010-12-08 15:38:26 -03:00
Thiago Santos
67415fc412 camerabin2: viewfinderbin: Adds viewfinderbin element
Adds viewfinder bin element, one of the modules of camerabin2
that is responsible for displaying the video from the camera.

For now it is only a bin with ffmpegcolorspace ! videoscale !
 autovideosink
2010-12-08 15:38:26 -03:00
Alessandro Decina
5c097c447b dvbsuboverlay: fix compiler warnings on OSX. 2010-12-08 19:36:48 +01:00
Mark Nauwelaerts
26877f66c9 mpeg4videoparse: re-use cleanup() in finalize()
... and also favor finalize() rather than dispose().
2010-12-08 16:30:12 +01:00
Arun Raghavan
5b442d0712 mpeg4videoparse: Set srcpad caps before forwarding newsegment
This holds all newsegement and most other events till there is enough
data to set srcpad caps, so that the downstream link is properly
negotiated before data starts flowing.

https://bugzilla.gnome.org/show_bug.cgi?id=635204
2010-12-08 16:30:12 +01:00
Arun Raghavan
8f30fca636 mpeg4videoparse: Use sinkpad caps as base for srcpad caps
This way, we don't lose additional fields that come from upstream (like
profile/level for now).

https://bugzilla.gnome.org/show_bug.cgi?id=635202
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
522f470883 mpeg4videoparse: minor fix to error handling
We weren't handling unparseable codec_data in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=635202
2010-12-08 16:30:12 +01:00
Sebastian Dröge
04eb581480 dvbsuboverlay: Implement nearest neighbour scaling for the subpictures
This becomes necessary when SDTV subtitles are used for HDTV videos.
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
de85aef333 h264parse: align code with comment 2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
26d69e63d4 h264parse: re-use reset() in finalize() 2010-12-08 16:30:12 +01:00
Arun Raghavan
6f966febce h264parse: Set srcpad caps before forwarding newsegment
This holds all newsegement and most other events till there is enough
data to set srcpad caps, so that the downstream link is properly
negotiated before data starts flowing.

https://bugzilla.gnome.org/show_bug.cgi?id=635205
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
74fb627a08 jpegparse: try to convert comment tag to UTF-8 2010-12-08 16:30:11 +01:00
Mark Nauwelaerts
49d7f207cb jpegparse: discard incomplete image
... as determined when finding SOI next image before an EOI.
2010-12-08 16:30:11 +01:00
Mark Nauwelaerts
0a26e138dd jpegparse: avoid infinite loop when resyncing 2010-12-08 16:30:11 +01:00
Arun Raghavan
7abe0a56af audioparse: Allow implicit channel map for 1-/2-channel audio
This makes sure we don't set an empty channel map array for 1-/2-channel
audio, causing an assert later on.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
8974371914 dvbsuboverlay: Revert some parts of last commit that shouldn't be committed 2010-12-08 16:30:11 +01:00
Sebastian Dröge
68b8fca047 dvbsuboverlay: Really choose the latest possible subpictures
And not the first subpictures that are still valid according to the
page timeout.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
e25a1dc0cc dvbsuboverlay: Refactor blending function and take average of all chroma values 2010-12-08 16:30:11 +01:00
Sebastian Dröge
2282a08890 dvbsuboverlay: Improve selection of current to be displayed subpictures
Drop all subpictures that are too old anyway and clear the currently
displayed subpictures if num_rects==0 happens.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
01cf79ae59 dvbsuboverlay: Implement clipping of video buffers
Also don't clip subpicture buffers, they have no duration and
clipping them doesn't make much sense here.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
672cb276be dvbsuboverlay: Clean up locking some more 2010-12-08 16:30:10 +01:00
Sebastian Dröge
92109fdfbc dvbsuboverlay: Flush subtitles and all internal state when needed 2010-12-08 16:30:10 +01:00
Sebastian Dröge
472cace08b dvbsuboverlay: Set the global library log function exactly once
And don't use one of the possibly many renderer instances, this is only
calling for crashes.
2010-12-08 16:30:10 +01:00
Sebastian Dröge
2a976ae133 dvbsuboverlay: Remove lots of commented out and unused code and clean up locking 2010-12-08 16:30:10 +01:00
Mart Raudsepp
a203ad1aab dvbsuboverlay: Fix more of the blending, so it looks quite good now
* libdvbsub gives us alpha channel already, not transparency level, so
don't do another "alpha = 255 - alpha", this is done by libdvbsub.
* Fix alpha channel handling in interpolation - assrender had an additional
1bpp alpha bitmap as a possible mask, we don't. So don't use the palette
index array as alpha values; bug from quick code porting long ago to
changing pixel colors (assrender has a single pixel color for whole
regions or something, unlike dvbsub, which has indexed colors).
* Don't forget to reassign our YUV and other local pixel color variables
after shifting to work on the bottom part of a 2x2 subsample block, or
it's obviously very blocky.

Remaining issues in blending:

* Should probably be interpolating or doing something else useful with the
resulting U and V channels, so that most of the source pixel UV values would
actually be actually cared about, except for just one out of possibly four.

* Don't convert AYUV to ARGB in libdvbsub, and then back from ARGB to AYUV in
dvbsuboverlay for no reason

* Re-factor the whole thing to something more like textoverlay blending
* Related to that, perhaps cache the current spu in a good format for quick
blending on each frame, after which the more often called blending parts
might become more straightforward
2010-12-08 16:30:10 +01:00
Mart Raudsepp
efa1e9a1fe dvbsuboverlay: Fix blending bug regarding color channel addressing.
libdvbsub gives us ARGB ordered pixels right now, not RGBA.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
21abf9c4a8 dvbsuboverlay: Do blending calls when appropriate
This gives us actually shown subtitles, however with bugs in the
current blitting code, resulting in very transparent subtitles.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
84b52f6eb4 dvbsuboverlay: Implement fallback page_time_out honoring
The spec has a page_time_out in the page composition segment to ensure
subtitles don't get stuck on screen for too much longer than intended,
when future page composition segments get lost on bad reception, or other
problems. Honor it in the gst plugin side.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
3d09a3b18a dvbsuboverlay: Implement subtitle queueing and syncing with video
Push incoming subtitle pages in a FIFO queue (pending_subtitles)
and dequeue the head when it's time to show it (when video running
time reaches the subtitle page running time).
Keep the subtitle page, that is supposed to be blended on top of video
currently, in a separate object variable (current_subtitle). As a
next step we can then pre-render current_subtitle to a better to blend
format.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
41c82583f5 dvbsuboverlay: Make the new dvb_subtitles_free() accept NULL
Don't crash if dvb_subtitles_free(NULL) gets passed, like most other
*_free functions are happy with.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
7e2e52cab8 dvbsuboverlay: Pass page_time_out and pts with the DVBSubtitles structure
Eases holding onto the information in gst plugins side queue of
DVBSubtitles, so we won't need to create yet another temporary struct
to keep the pts and page_time_out too.
And this really logically belongs at the toplevel information set anyway
and in that struct...
2010-12-08 16:30:09 +01:00
Mart Raudsepp
aca7237878 dvbsuboverlay: Make the libdvbsub callback handler responsible for memory cleanup
We want to allow queueing of raw region image data in the gst plugin side,
and keep the data around until we pop the item from the queue. So make
the callback handler responsible for memory cleanup, if one is installed.
2010-12-08 16:30:09 +01:00
Mart Raudsepp
4a68decb52 dvbsuboverlay: Work with GstClockTime instead of PTS for subtitle timing
Abuse libdvbsub PTS tracking to just store our running time in it, to get
it back in the callbacks. As GStreamer does its own PTS handling behind our
back (especially for video), we should just sync with video per running time,
not try to do it with PTS, which doesn't seem well accessible for video chain.
We can later relabel dvb-sub.c pts naming convention if wanted, it's just
passing along guint64 values, which GstClockTime fortunately is too.

The current idea is to collect the regions returned by the callback into
a FIFO buffer and pop and pre-render the top one into a separate
quick-to-blend cached format, which is then appropriately blended in the
video chain until the next one on top of the stack reaches the video chains
running time (or the fallback timer hits).
2010-12-08 16:30:09 +01:00
Mart Raudsepp
316cd44c8d dvbsuboverlay: Add FIXME note about non-constant PTS for a display set handling. 2010-12-08 16:30:09 +01:00
Mart Raudsepp
7cab41013e dvbsuboverlay: Remove dvb_sub_feed() API
GStreamer will only use dvb_sub_feed_with_pts, as it has its own PES filter
to do the header parsing.
2010-12-08 16:30:09 +01:00
Tim-Philipp Müller
08c355823b dvbsuboverlay: more TODO 2010-12-08 16:30:09 +01:00
Mart Raudsepp
1db547f0b6 gstmpegtsdemux: add temporary **HACK** for dvb subs testing so dvbsuboverlay gets whole packets
<tpm> leio, what's the mpegts demux hack about?
<leio> my libdvbsub code can't handle cut packets
<leio> so the hack instructs the demuxer to gather full packets before pushing down, but it applies that to more PES packet types than just dvbsub, but I'm not sure if that's a bad thing
<leio> either way, needs a cleaner solution, either in demuxer, or I need to handle cut packets
<tpm> ok, but really it should be fixed in the overlay, right?
<tpm> or a parser be inserted
<leio> the problem is that I don't know from the first packet beforehand if it is a cut one or no
<leio> not
<leio> err, first buffer
<leio> just when I receive the next one I see if it has a valid timestamp on it or not
<leio> so I can't very well queue it up in the chain either, I might be blocking the very last subtitle for no reason or something
<tpm> but you could just drop/ignore packets until you find one, right?
<leio> find what?
<tpm> a complete packet?
<leio> the problem isn't that they aren't complete
<leio> the problem is that they are cut across multiple GstBuffers by the demuxer without the hack
<tpm> sure, I understand that
<tpm> but you can't easily determine if a GstBuffer contains he start fragment of a packet or not?
<leio> I guess I could parse the packet and see if its length is enough, just like the libdvbsub code eventually does too
<leio> I can, it has a timestamp if it's the first chunk
<leio> I just never know if I need to wait for more, without some parsing
<tpm> ah ok
<leio> while the demuxer could just give me an uncut one in the first place
<leio> like it always does for program streams
<leio> that gather_pes is always set in gstmpegdemux, but not in gstmpegtsdemux
2010-12-08 16:30:09 +01:00
Mart Raudsepp
a8d891dc5e dvbsuboverlay: initial version, work in progress 2010-12-08 16:30:09 +01:00
Mark Nauwelaerts
f64f03264f audioparsers: update some documentation 2010-12-03 18:23:20 +01:00
Mark Nauwelaerts
8f0e2346c7 mpegaudioparse: add to documentation 2010-12-03 18:23:17 +01:00
Mark Nauwelaerts
fa0dea3fdc dcaparse: add to documentation 2010-12-03 18:23:14 +01:00
Mark Nauwelaerts
f4e916f882 qtmux: add documentation 2010-12-03 18:23:12 +01:00
Mark Nauwelaerts
26feb26fc1 baseparse: increase keyframe awareness
... which is not particular relevant for audio parsing, but more so
in video cases.  In particular, auto-determine if dealing with video (caps).
2010-12-03 18:23:06 +01:00
Stefan Kost
6e9763a090 camerabin: smal api doc update 2010-12-02 15:51:16 +02:00
Lasse Laukkanen
e96b8a7b5f camerabin: Avoid assertion on image finishing
As imgbin_finished() is scheduled from g_idle_add, it might
be run a little later than expected, this can lead to the application
setting camerabin to ready before imgbin_finished() runs. In this case,
the processing counter goes to 0 and an assertion happens.

This patch relaxes the imgbin_finished() check on the processing
counter.
2010-12-02 05:42:08 -03:00
David Schleef
0e129b05f5 chopmydata: Add new element
This element splits up a stream into randomly-sized buffers.
Useful (maybe) for testing parsers.
2010-12-01 23:24:24 -08:00
Alessandro Decina
aae72680bd Fix compiler warnings with gcc 4.2.1 on OSX. 2010-12-01 23:20:36 +01:00
Mark Nauwelaerts
ce6d8b6d93 ac3parse: use proper EAC-3 caps 2010-12-01 15:29:55 +01:00
David Hoyt
c79aba9e1e qtmux: handle msvc ftruncate incompatibility
Fixes #636185.
2010-12-01 10:48:51 +01:00
David Schleef
159e2768d6 Fix pad template memleaks
Pad templates returned by gst_static_pad_template_get() were not
being unreffed.
2010-11-30 18:54:46 -08:00
Mark Nauwelaerts
aa93b5b458 baseparse: avoid unexpected stray metadata 2010-11-30 16:23:26 +01:00
Mark Nauwelaerts
145e041af5 baseparse: use proper _NONE output value when applicable 2010-11-30 16:23:24 +01:00
Sebastian Dröge
5df40a727c jp2kdecimator: Add a JPEG2000 decimator element
This element drops information from JPEG2000 images without reencoding.
2010-11-30 12:39:46 +01:00
Alejandro Gonzalez
0930f0645f qtmux: gst_qtmux_check_difference verify before subtract
Avoid negative overflow by checking the order of operands
on subtraction of unsigned integers.

https://bugzilla.gnome.org/show_bug.cgi?id=635878
2010-11-29 09:21:39 -03:00
David Schleef
7e8081c89e mpegtsmux: Fix some memleaks 2010-11-27 19:09:58 -08:00
Edward Hervey
3a507f9ef9 videomeasure: Remove dead assignments 2010-11-25 19:31:03 +01:00
Edward Hervey
ba40212297 tta: Remove dead assignments and useless variable 2010-11-25 19:25:27 +01:00
Edward Hervey
a4c4debf5d stereo: Remove dead assignments 2010-11-25 19:24:56 +01:00
Edward Hervey
63251255a9 sdp: Remove useless variables 2010-11-25 19:21:23 +01:00
Edward Hervey
f69ee5ca33 rtpmux: Remove dead assignments 2010-11-25 19:21:11 +01:00
Edward Hervey
bebfa4d50a real: Remove dead assignments 2010-11-25 19:21:01 +01:00
Edward Hervey
59ec2bff48 ivfparse: Remove dead assignments 2010-11-25 19:20:51 +01:00
Edward Hervey
6507312e46 freeze: Remove dead assignments 2010-11-25 19:06:49 +01:00
Edward Hervey
8356184967 dvdspu: Remove dead assignments 2010-11-25 19:06:38 +01:00
Edward Hervey
0d7ba7dc1a dtmf: Remove dead assignments 2010-11-25 19:06:27 +01:00
Edward Hervey
7905c19e4e dccp: Remove dead assignments 2010-11-25 19:01:42 +01:00
Edward Hervey
15cd318ada audioparsers: Remove dead assignments 2010-11-25 18:56:42 +01:00
Andoni Morales Alastruey
bc3917bb04 audioparse: fix possible division-by-zero
https://bugzilla.gnome.org/show_bug.cgi?id=635786
2010-11-25 17:28:16 +01:00
Robert Swain
0de362f248 interlace: Fix buffer timestamp and duration
The field rate is twice the frame rate of the src pad and so the duration of
one output buffer is src_fps_d / (2 * src_fps_n).
2010-11-24 12:09:16 +01:00
Robert Swain
341b0c2d62 interlace: Rename pattern property to field-pattern
This is mostly for clarity of what the property means and, I believe, makes the
pattern-offset property more comprehensible.
2010-11-24 12:09:16 +01:00
Robert Swain
bea13ef43b interlace: Add pattern offset property
This property allows one to start at any point within the field pattern after
a discontinuity (whenever gst_interlace_reset () is called). Thus with the
2:3:3:2 pattern, for example, one can start at offset 2 and achieve 3:2:2:3
or offset 1 and achieve 3:3:2:2.
2010-11-24 12:09:16 +01:00
Lasse Laukkanen
5c2f805199 camerabin: Create imagebin elements when image mode is set in camerabin NULL state
This patch refactors imagebin element creation and linking into separate functions,
and adds re-using also for imagebin internally created elements.

So this refactoring allows creating imagebin elements already in NULL state when
application sets the image mode, and next state change from NULL to READY will be faster.
This reduces first capture latency.

Earlier the elements were both created and linked in NULL to READY state change.
2010-11-23 10:04:24 -03:00
Andoni Morales Alastruey
e307bfe6e6 mpegtsparse: Create a sub-buffer with the section length 2010-11-23 11:26:56 +01:00
Thiago Santos
7622328aab jpegparse: Small optimization on tags parsing
Optimize a little avoiding copying a taglist when parsing xmp/exif
data.
2010-11-22 17:43:53 -03:00
Thiago Santos
8d5cfc6511 outputselector: Avoid losing the last_buffer when switching
This patch makes outputselector take an extra ref when pushing
the last_buffer to avoid it losing it during the switch function.

This makes resend-latest properly work if the active-pad is changed
during the switch function buffer pushing (on a pad probe, for example).

https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-11-22 17:34:02 -03:00
Thiago Santos
0451adeabd outputselector: Recheck pending switch after pushing buffer
This patch makes output-selector always recheck if there's a
pending pad switch after pushing a buffer, preventing that
it pushes a buffer on the 'wrong' pad.

https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-11-22 17:29:17 -03:00
David Schleef
edc392fcc8 colorspace: remove incorrect check 2010-11-21 23:13:30 -08:00
Mark Nauwelaerts
d7a9452a6e qtmux: remove remnant of obsolete property 2010-11-19 19:21:38 +01:00
Marc-André Lureau
a4b93bb95d qtmux: allow specifying trak timescale
This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.
2010-11-19 19:21:38 +01:00
Mark Nauwelaerts
5abdd9ab03 qtmux: include sdtp atoms for ismv fragmented files
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
083c26aca8 qtmux: enable default fragmented file for ismlmux 2010-11-19 19:21:37 +01:00
Marc-André Lureau
b5f6f94d54 qtmux: add ismlmux, for fragmented isml major brand 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
46e2186fd9 qtmux: finalize sinkpads list 2010-11-19 19:21:37 +01:00
Marc-André Lureau
8f84cbd620 qtmux: add moov in streamheader 2010-11-19 19:21:37 +01:00
Marc-André Lureau
3ae5297660 qtmux: add streamable property to avoid building fragmented mfra index 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
f03dc57faf qtmux: add mfra to fragmented file
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
68d5ab1a1d qtmux: optionally create fragmented file
In this mode, an initial empty moov (containing only stream metadata) is written,
followed by fragments containing actual data (along with required metadata).
New fragments are started either at keyframe (if such are sparse) or when
property configured duration exceeded.

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

Fixes #632911.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
bd46298ca6 qtmux: use helper to set atom flags from given uint 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
857efb4917 qtmux: refactor configuring and sending of moov
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
e361a0b3ce qtmux: refactor extra top-level atom handling
Also check a bit more for possible errors, and free proper items in such case.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
261df7636e qtmux: refactor slightly using buffer helper 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
3fea86fa60 qtmux: fix misinforming comment 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
1a279a9466 qtmux: delegate mvex handling to atoms
... which keeps qtmux simpler.
2010-11-19 19:21:36 +01:00
Marc-André Lureau
78d2d8598d qtmux: add mvex/trex in header if fragmented
One "trex" is added per "trak". We don't support default values,
but the "trex" box is mandatory.
2010-11-19 19:21:36 +01:00
Marc-André Lureau
84d8b33d1a qtmux: add a couple of fourcc for fragmented mp4 2010-11-19 19:21:36 +01:00
Mark Nauwelaerts
7e4c96359f qtmux: avoid removing temp file when error occurred 2010-11-19 19:21:36 +01:00
Marc-André Lureau
401fb0a09b qtmux: truncate buffer file after each send 2010-11-19 19:21:36 +01:00
Marc-André Lureau
055a1a3b0a qtmux: remove temp file when reset/finalize 2010-11-19 19:21:36 +01:00
Arun Raghavan
8ca66f336e jpegformat: Push tags after setting srcpad caps
This patch defers emission of tag events till caps are set on the source
pad of jpegparse, so that these tags can be seen downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=627211
2010-11-19 14:57:59 -03:00
Alessandro Decina
b005ed2197 mpegtsparse: fix compiler warning 2010-11-19 18:51:32 +01:00
Andoni Morales Alastruey
fb9234de78 mpegtsparse: fix thinko 2010-11-19 18:33:10 +01:00
Andoni Morales Alastruey
b11f737096 mpegtsparse: fix handling of TOT and TDT sections. Fixes #635281.
TDT and TOT sections, with PID=0x14, doesn't extend to several packets
and the section filter is not needed here and shouldn't be used at all
for these tables because the have a different structure.
For example, TDT tables were not parsed for odd hours because this bit
is the 'current_next_indicator' bit for the other sections, and the table
was discarded.
2010-11-19 18:11:50 +01:00
Andoni Morales Alastruey
2611b12970 mpegtsparse: don't calculate the CRC for TOT tables. Fixes #635281.
TOT tables, with table_id=0x73, don't have a CRC, so don't calcute it
2010-11-19 18:10:47 +01:00
Víctor Manuel Jáquez Leal
e5728ebcb1 jpegparse: add gst_jpeg_parse_skip_marker ()
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:30:18 +02:00
Víctor Manuel Jáquez Leal
285c32e01f jpegparse: use byte reader accessors
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:27:24 +02:00
Víctor Manuel Jáquez Leal
e11fdf67f0 jpegparse: inline gst_jpeg_parse_sof ()
No functional changes (hopefully).

https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:25:39 +02:00
Víctor Manuel Jáquez Leal
d0dc44db02 jpegparse: fix typo
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:25:35 +02:00
Aleksey Lim
d66ef4dea8 camerabin: Do not use audio clock after stopping video capture
Adda provide clock function to camerabin to make it not
provide the audio clock of the record bin when no video
recording is happening

Fixes #613379
2010-11-18 10:58:06 -03:00
Mark Nauwelaerts
68dca2e704 baseparse: use correct offset when adding index entry
... bearing in mind that BUFFER_OFFSET is media specific and may not
reflect the basic offset after having been parsed.
2010-11-17 16:24:13 +01:00
Mark Nauwelaerts
9b6439a36c baseparse: enhancements for timestamp marked framed formats
That is, as such formats allow subclass to extract position from frame,
it is possible to extract duration (if not otherwise provided)
from (near) last frame, and a seek can fairly accurately target the required
position.

Fixes #631389.
2010-11-17 15:36:41 +01:00
Mark Nauwelaerts
08cab00b8b baseparse: refactor frame scanning peformed by _loop 2010-11-17 15:36:38 +01:00
Mark Nauwelaerts
587106f1cf baseparse: slightly optimize sending of pending newsegment events 2010-11-17 15:36:36 +01:00
Mark Nauwelaerts
f82f330537 baseparse: minor fixes and enhancements
Arrange for upstream as well as downstream flushing when seeking.
Also determine upstream size as well as seekability.  Adjust some comments
to reality and employ debug statement in proper order.
2010-11-17 15:36:23 +01:00
Mark Nauwelaerts
b65da8e775 aacparse: minor cleanups 2010-11-17 15:36:20 +01:00
Mark Nauwelaerts
0fdc68cd46 aacparse: fix regression in ADIF src caps setting 2010-11-17 15:36:18 +01:00
Mark Nauwelaerts
36cbbd94c6 flacparse: parse seektable
Fixes #631389 (partially).
2010-11-17 15:36:02 +01:00
Mark Nauwelaerts
551f9707fa flacparse: minor refactor and enable default baseparse segment clipping 2010-11-17 15:35:59 +01:00
Mark Nauwelaerts
896c4b71af mpegaudioparse: fix silly leak in _reset 2010-11-09 20:52:10 +01:00
Sebastian Dröge
9ac7950d2c colorspace: Update generated ORC sources 2010-11-05 10:57:22 +01:00
Thiago Santos
60a6eca2a1 camerabin: Adds 'idle' property
Adds 'idle', a read-only boolean property that tells applications
if there is any capturing/saving/encoding going on in camerabin. If
not, it is safe to set it to NULL and release resources without
losing data.
2010-11-04 22:48:02 -03:00
Lasse Laukkanen
bc1b09c1c4 camerabin: Add "ready-for-capture" property
Add "ready-for-capture" property to indicate if preparing a new
capture is possible.

"ready-for-capture" changes before the 'image-done' signal, so
the application can be notified that it can do a new capture
even before the previous one has finished encoding/saving.
2010-11-04 21:41:07 -03:00
Sebastian Dröge
a1994b59f5 colorspace: Inverse -base version check logic to actually make sense 2010-11-04 14:19:09 +01:00
Olivier Crête
7ad651c3ff pcapparse: Add support for Linux Cooked Capture (SLL) frames 2010-11-03 18:50:51 -04:00
Olivier Crête
16ec12371a pcapparse: Fail on unknown version or linktype
The element only knows about major version 2 and only decodes linktype ethernet
2010-11-03 18:23:27 -04:00
Olivier Crête
ec16c22f54 pcapparse: Send error GstMessage if stream doesn't have the expected magic 2010-11-03 18:02:49 -04:00
Andoni Morales Alastruey
891e08f220 mpegtsparse: send TDT tables messages in a serialized event downstream
https://bugzilla.gnome.org/show_bug.cgi?id=633917
2010-11-03 04:48:00 +00:00
Sebastian Dröge
6723122127 colorspace: Add support for IYU1 2010-11-03 15:39:27 +01:00
Sebastian Dröge
dec9b54698 colorspace: First version of YUV9 and YVU9 implementation 2010-11-03 15:39:27 +01:00
Sebastian Dröge
eccb88afb0 colorspace: Use GST_CHECK_PLUGINS_BASE_VERSION() instead of other hacks 2010-11-03 15:39:27 +01:00
Thijs Vermeir
2271608c43 mpegvideoparse: fix timestamp generation
Use information from the gop header and picture
header to calculate the picture timestamp. (time_code
and temporal_reference) and adapt to upstream timestamps if
provided.

https://bugzilla.gnome.org/show_bug.cgi?id=632222
2010-11-03 11:12:38 +01:00
Tim-Philipp Müller
ff0a34ce3d colorspace: fix build with current git of gst-plugins-base
ifdef tests don't work so well if we define them in the code
above in case they aren't defined.
2010-11-02 17:01:01 +00:00
Sebastian Dröge
50fa9610b1 colorspace: Add support for 8 bit paletted RGB
This needs the 8 bit paletted support from -base
which will be committed after release. Without this
the 8 bit parts are disabled.
2010-11-02 16:07:07 +01:00
Thiago Santos
d96964e391 camerabin: Add missing change to previous commits
Forgot to add this change to the latest commits. This fixes the build.
2010-11-02 10:24:49 -03:00
Thiago Santos
7ae195788a camerabin: Fix leaks in the preview handling
Remember to unref the bus after adding the watch.
Remember to unref the element after getting it with
gst_bin_get_by_name.
2010-11-02 09:39:49 -03:00
Lasse Laukkanen
5a5fca2689 camerabin: Do not leak a caps
gst_caps_replace doesn't take ownership, but refs the caps. So we
unref the remaining caps.
2010-11-02 09:39:40 -03:00
Thiago Santos
618f32ad8d camerabin: Reset pre-night-mode stored fps when mode changes
When switching between video/still modes the pre-night-mode fps
should be reset to prevent it being used in the incorrect mode, causing
the videosource to fail configuring itself
2010-11-02 09:16:45 -03:00
Thiago Santos
6ee256d462 camerabin: Store app preferred capture parameters separately
Store width/height/fps for video captures in a separate variable
than the one that stores the currently used value.

This prevents the user preferences to be lost when resetting
the currently used dimensions for night mode, for example
2010-11-02 09:16:44 -03:00
Thiago Santos
73a909c0e3 camerabin: cleanup used caps when going to NULL
Resets used caps so that camerabin doesn't try to use them
when restarting, where elements/properties might have changed
and the old caps be incompatible
2010-11-02 09:16:44 -03:00
Teemu Katajisto
ca16d951ba camerabin: fix priority for idle_add function
Adds a higher priority to the idle_add function for when
the image bin finished the image capture. This reduces the
delay for the application to be notified about this.
2010-11-02 09:16:44 -03:00
Stefan Kost
dad82be640 inputselector: log times in human readable form 2010-11-01 23:05:42 +02:00
Stefan Kost
380fd56938 inputselector: move reoccuring logs to LOG and remove a double info
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-11-01 22:47:21 +02:00
Tim-Philipp Müller
c627604ea9 cog, colorspace: update orc backup functions for latest changes
Should fix build on systems without the latest orc.
2010-11-01 15:54:18 +00:00
Sebastian Dröge
e8186a45a1 colorspace: Add support for RGB15 and BGR15 2010-10-31 23:46:27 +01:00
Sebastian Dröge
a2eb43fade colorspace: Add support for RGB16 and BGR16 2010-10-31 23:44:20 +01:00
Sebastian Dröge
3c8e0286dc colorspace: Add support for Y16 2010-10-31 23:25:57 +01:00
Sebastian Dröge
52f3e1351a colorspace: Fix Y800 ORC getline implementation 2010-10-31 23:25:40 +01:00
Sebastian Dröge
d29423fd76 colorspace: Add support for A420 2010-10-31 23:08:39 +01:00
Sebastian Dröge
cd135c24e4 colorspace: Add support for Y41B 2010-10-31 23:00:07 +01:00
Sebastian Dröge
eb2a295316 colorspace: Add support for SDTV/HDTV YUV conversions 2010-10-31 22:47:35 +01:00
Sebastian Dröge
c1027a72fe colorspace: Add comment for the A420 getline/putline table row 2010-10-31 22:21:35 +01:00
Sebastian Dröge
d8027b4e67 colorspace: Add const to the source arrays and the getline/putline table 2010-10-31 20:40:09 +01:00
Sebastian Dröge
58949450b5 colorspace: Make fast-path transform table const 2010-10-31 19:42:30 +01:00
Sebastian Dröge
e49aa545d0 colorspace: Only do the I420->YUY2 conversion once per scanline in the fast path 2010-10-31 19:40:01 +01:00
Mark Nauwelaerts
ba35b17b98 baseparse: use only upstream duration if it provides one 2010-10-29 14:11:47 +02:00
Mark Nauwelaerts
61cf6f2ffa baseparse: reflow update_bitrate code
... which makes local variables represent real state better, and avoids
triggering unneeded updates/actions.
2010-10-29 14:11:44 +02:00
Mark Nauwelaerts
841e09e234 baseparse: add some debug statements 2010-10-29 14:11:42 +02:00
Sebastian Dröge
4c48e791b3 gaudieffects: Include gstcontroller header and add the required CFLAGS 2010-10-28 18:52:07 +02:00
Luis de Bethencourt
cadfe13839 gaudieffects: made filter parameters dynamic and controllable 2010-10-28 18:52:07 +02:00
Sebastian Pölsterl
13431420eb mpegtsparse: Add tag event emission. Fixes #627253 2010-10-28 11:45:46 +01:00
Thiago Santos
0999fdb82a camerabin: Check the source scene mode when creating it
As camerabin only gets notified of the changes from the
video source element, it should query the initial value
once the source is created so it initializes itself
correctly.
2010-10-21 16:43:45 -03:00
Tim-Philipp Müller
05cec96949 dcaparse: init variable to make osx build bot happy
gstdcaparse.c: In function 'gst_dca_parse_check_valid_frame':
gstdcaparse.c:246: warning: 'best_sync' may be used uninitialized in this function
2010-10-19 23:25:54 +01:00
Tim-Philipp Müller
d5a008b9ee audioparsers: add very basic dts/dca parser
Still some issues, e.g. with seekable queries in totem, but also
processing already-chunked input (created with matroskademux ! gdppay).
2010-10-19 18:00:14 +01:00
Stefan Kost
90e90fd368 videoanalyse: fix copy'n'paste off by one for param spec flags change 2010-10-19 16:25:00 +03:00
Stefan Kost
0c22e1b954 various (gst): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2010-10-19 15:47:17 +03:00
Stefan Kost
92634ff92a various: wrap property registration and add a single fixme for long desc. 2010-10-19 15:36:18 +03:00
Stefan Kost
8ab60bd7cd pnmenc: remove stray " in doc comment 2010-10-19 15:08:06 +03:00
Stefan Kost
1b23f7719a dtmfsrc: remove DEBUG_FUNCPTR from gobject vmethods 2010-10-19 13:46:57 +03:00
Thiago Santos
744a1d1542 camerabin: Remove unused entry
Remove camerabin unused enum entry
2010-10-14 14:09:39 -03:00
Thijs Vermeir
96a7f9c8b1 mpegvideoparse: accelerate search for start code
As the startcode always starts with 0x000001 some iterations
can be skipped if values > 1 are detected.

~ 70% faster on HD video stream.

https://bugzilla.gnome.org/show_bug.cgi?id=632130
2010-10-14 18:52:27 +02:00
Mark Nauwelaerts
9f4339c059 ac3parse: properly parse e-ac3 frame header
Also add a few debug statements.
2010-10-14 16:53:01 +02:00
Mark Nauwelaerts
231d4d9bdc qtmux: prevent infinite loop when adjusting framerate
Fixes #632070.
2010-10-13 17:48:34 +02:00
Thiago Santos
461db47e87 geometrictransform: Adds rotate element
Adds a new rotate element to geometrictransform. It still
needs some work. But this is a good starting point.

Based on patch from Bert Douglas <bertd tplogic com>
2010-10-13 12:14:36 -03:00
Mark Nauwelaerts
697419b755 flacparse: tweak setting buffer metadata; avoid timestamp jitter
Fixes #631993.
2010-10-13 11:01:13 +02:00
Mark Nauwelaerts
9b9d8a516b aacparse: streamline src caps setting
In particular, also set src caps whenever changes in stream warrant doing so.
2010-10-12 18:19:49 +02:00
Sebastian Dröge
f576c3f128 flacparse: Don't drop the last frame if it is followed by garbage
See bug #631814.
2010-10-12 10:31:41 +02:00
Mark Nauwelaerts
6e1d65d788 baseparse: perform bitrate handling and posting after newsegment sending 2010-10-11 17:50:21 +02:00
Mark Nauwelaerts
30feca6966 baseparse: immediately post subclass provided bitrate 2010-10-11 17:42:09 +02:00
Mark Nauwelaerts
11bdf1def1 flacparse: fix parsing with unknown framesizes
Fixes #631814 (mostly).
2010-10-11 17:13:27 +02:00
Sebastian Dröge
812075dc5d flacparse: Simplify frame header parsing by using lookup tables
Based on a patch by Felipe Contreras.

See bug #631200.
2010-10-07 23:38:26 +02:00
Sebastian Dröge
64407ca94b flacparse: Don't parse the complete FLAC frames but only look for valid frame headers
Thanks to Felipe Contreras for the suggestion. This is partially
based on his patches and makes flacparse more than 3.5 times faster.

Looking for valid frame headers is unlikely to give false positives
because every frame header is at least 9 bytes long, contains a
14 bit sync code and a 8 bit checksum over the first 8 bytes.

Fixes bug #631200.
2010-10-07 23:38:25 +02:00
Mark Nauwelaerts
1617616516 sdpdemux: workaround internal rtspsrc failing state change
Fixes #630046.
2010-10-07 12:00:38 +02:00
Sebastian Dröge
77c05b5419 audioparse: Add support for setting the channel-positions 2010-10-07 10:34:48 +02:00
Sebastian Dröge
396501784c flacparse: Really post tags only after the initial newsegment event
The first newsegment event will be send by the first call to
gst_base_parse_push_buffer() if necessary, posting the tags
before that is not a good idea. Instead do it from the
GstBaseParse::pre_push_buffer vfunc.
2010-10-06 18:32:51 +02:00
Sebastian Dröge
59720fd42a chromahold: Fix hue calculation for red colors
Also make the calculation much more accurate...
2010-10-06 16:54:16 +02:00
Sebastian Dröge
10e0187df1 chromahold: Make everything greyscale if the target color is grey 2010-10-06 15:21:09 +02:00
Sebastian Dröge
fa2a4af5bb chromahold: Add chromahold color effect
This effect converts all colors except a single one to
grey. The color is selected by an RGB triple and a
tolerance for the color matching in hue degree can be specified.
2010-10-06 11:57:12 +02:00
Mark Nauwelaerts
e0cb15cea0 sdpdemux: fix and reflow some exits 2010-10-05 17:21:22 +02:00
Mark Nauwelaerts
216887d599 sdpdemux: error out if no streams found in sdp message 2010-10-05 17:08:21 +02:00
Mark Nauwelaerts
6c96f8cf1e sdpdemux: unbreak standard manager setup 2010-10-05 17:08:19 +02:00
Tim-Philipp Müller
716e430fd5 Revert "baseparse: add skip property"
This reverts commit b5a3d60363.

Reverting this for now, since no one really seems to remember why this
property exists or what it could possibly be good for. It seems to have
been in the original mp3parse since the beginning of time and was back-
ported from there.
2010-10-05 11:17:52 +01:00
Sebastian Dröge
7e581aebe2 flacparse: Fix uninitialized variable compiler warnings
These warnings are wrong, the variables are only used if they were
initialized by the bit reader.
2010-10-04 10:41:52 +02:00
Felipe Contreras
b6f1e8aa68 flacparse: fix picture parsing
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-10-04 08:09:57 +02:00
Sebastian Dröge
65f620af8e flacparse: Push tags before the header buffers are pushed 2010-10-04 08:09:57 +02:00
Felipe Contreras
1a49b4de63 flacparse: trivial caps fix
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-10-04 08:09:56 +02:00
Thiago Santos
4697cffbee qtmux: Add G_PARAM_STATIC_STRINGS
Add G_PARAM_STATIC_STRINGS to qtmux properties
2010-10-03 23:47:29 -03:00
Sebastian Dröge
26b2c4a1b3 audioparser: Let the format string agree with the parameters to fix compiler warning 2010-10-03 23:50:29 +02:00
Sebastian Dröge
4903e140e2 ac3parse: Use unchecked versions of the bitreader get functions
We didn't check the return values anyway...
2010-10-03 15:42:17 +02:00
Stefan Kost
7ae63847a8 valve: no need to ref the object in _chain
Don't ref the pad in chain, like elsewhere
2010-10-02 18:27:14 +03:00
Arun Raghavan
2d699010e9 baseparse: Fix debug output
We lose the reference to the buffer after gst_pad_push(), so the debug
print should happen before.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2010-10-01 13:31:36 +02:00
Mark Nauwelaerts
ad1304dcf1 baseparse: support reverse playback
... in pull mode or upstream driven.
2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
603d6ba183 baseparse: remove done TODOs and update documentation 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
fdff382686 baseparse: use determined seekability in answering SEEKING query 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
b5a3d60363 baseparse: add skip property 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
8d7720eb93 mpegaudioparse: initial version
... adequately equivalent to mp3parse, so lets boldly set it
to higher rank.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
d7b31821ea aacparse: set minimum frame size at _start
... rather than one time at _init.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
36165d8d44 baseparse: use _set_frame_props to configure frame lead_in and lead_out
... provided a corresponding decoder with sufficient leading and following
frames to carry out full decoding for a particular segment.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
13f85c8f11 baseparse: use _set_duration to configure duration update interval
... as it logically belongs there as one or the other; either subclass
can provide a duration, or an estimate must be made (reguarly updated).
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
eb9ba9e115 baseparse: localize use of provided fps information 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
def0aadb81 baseparse: seek table and accurate seek support 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
174d2d46fc baseparse: proper and more extended segment and seek handling
That is, loop pause handling, segment seek support, newsegment for gaps, etc
2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
ec195ab2e5 baseparse: add index support 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
80646f5555 baseparse: refactor state reset 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
ad95a79de3 baseparse: prevent indefinite resyncing 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
1c14fd0a31 baseparse: specific EOS handling if no output so far 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
a1c072e0aa baseparse: adjust _set_frame_prop documentation and set default as claimed 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
cf159041a7 baseparse: fix bitrate copy-and-paste and update heuristic 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
80ba9a1a3e baseparse: post duration message if average bitrates is updated 2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
4dff7c81d6 baseparse: remove is_seekable vmethod and use a set_seek instead
Seekability, like duration, etc is unlikely to change (frequently), and
the default assumption covers most cases, so let subclass set when needed.
At the same time, allow subclass to indicate if it has seek-metadata (table)
available, and possibly have it provide an average bitrate.
2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
c516bf8679 ac3parse: remove redundant default is_seekable 2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
582b756bc1 baseparse: add another hook for subclass prior to pushing buffer
... and allow subclass to perform custom segment clipping, or to
emit tags or messages at this time.
2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
ea7e051827 baseparse: 0 converts to 0 by default 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
2e7de32849 basepase: refactor conversion using helper function and export default convert 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
420121705d baseparse: streamline query handling 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
a1f51f3d17 baseparse: cleanup struct and remove unused member 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
b0d62f4182 audioparsers: increase ranks to enable auto-plugging
Because we can, and should, have some shakedown testing before having
these make it into -good later on ...
2010-10-01 12:15:46 +02:00
Arun Raghavan
2978216db1 baseparse: Allow chaining of subclass event handlers
This allows the child class to chain its event handler with
GstBaseParse, so that subclasses don't have to duplicate all the default
event handling logic.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2010-10-01 12:15:46 +02:00
Olivier Crête
9246ed081e valve: Make the drop variable into an atomic.
Using an atomic allows us to avoid locking the whole object all time time.
As suggested by Stefan Kost.
2010-09-30 16:26:19 -04:00
Olivier Crête
0af7cc8ba7 valve: Correctly set the DISCONT flag after dropping buffers 2010-09-30 16:22:04 -04:00
Olivier Crête
18ed4bafb9 valve: Remove superflous checking casts 2010-09-30 16:16:47 -04:00
Olivier Crête
5656523162 valve: Fix style, improve comments
Minor improvements to the comments and break a few overly long lines
2010-09-30 16:13:23 -04:00
Olivier Crête
51887b934f rtpmux: Improve documentation
Add an example pipeline, and try to explain a bit more what it does.
2010-09-30 16:07:29 -04:00
Thiago Santos
5cb8164938 camerabin: Do not wrongly fail when starting a capture
If the elements are in NULL/READY and changing state to
PAUSED/PLAYING while a capture is started
camerabin might not set the active_bin properly causing the
capture start to fail.

This patch fixes it by checking the current and pending state
of the branches instead of only the current one
2010-09-29 18:42:27 -03:00
Sebastian Dröge
4e43e8bc67 frei0r: Use static caps instead of converting strings to caps all the time 2010-09-28 16:20:50 +02:00
Sebastian Dröge
498620d16c frei0r: Fix crashes if plugins don't provide correct property information
The vertigo plugin for example claims to have 3 properties but
the 3rd property does nothing and has a NULL name.

Fixes bug #630783.

Thanks to Martti Kühne for debugging this.
2010-09-28 16:16:31 +02:00
Stefan Kost
d0d4055732 valve: move default: parst in the switch statement to the end
Now sure if it matters, but the previous form looks weired.
2010-09-28 14:27:17 +03:00
Stefan Kost
5fa5e2d777 valve: move debug-category registration to type init 2010-09-28 14:23:40 +03:00
Stefan Kost
69ea2ec2ba liveadder: move debug-category registration to type init 2010-09-28 14:23:40 +03:00
Stefan Kost
afa30fb8ea liveadder: GST_BOILERPLATE already sets parent_class 2010-09-28 14:23:40 +03:00
Stefan Kost
7bd3e239a5 liveadder: use base_init for pad_templates and element_details 2010-09-28 14:23:40 +03:00
Stefan Kost
7e63d37f1c liveadder: use G_PARAM_STATIC_STRINGS on properties 2010-09-28 14:23:40 +03:00
Stefan Kost
ccf35a80a0 valve: use G_PARAM_STATIC_STRINGS on properties 2010-09-28 14:23:40 +03:00
Stefan Kost
636ca1adde valve: GST_BOILERPLATE already sets parent_class 2010-09-28 14:10:18 +03:00
Stefan Kost
3958f8371e videomeassure: GST_BOILERPLATE already sets parent_class 2010-09-28 14:10:18 +03:00
Hu Gang
8f26b414fa photography: extend photography iface
Add more color tone modes and add NoseReduction settings.
Fixes #616814.
2010-09-28 11:37:47 +03:00
Sebastian Dröge
8dc7347d65 frei0r: Fix scanning of plugin subdirectories and support different vendors
The frei0r spec specifies, that plugins can be in subdirectories inside
the main plugin directories to introduce new namespaces called vendors.
2010-09-25 10:46:34 +02:00
Sebastian Dröge
bf74bcc1af frei0r: Update frei0r interface specification to 1.2 2010-09-24 22:47:01 +02:00
Sebastian Dröge
addf308add frei0r: Add support for the FREI0R_PATH environment variable
This was added in version 1.2 of the spec and replaces the default
list of directories.
2010-09-24 22:43:51 +02:00
Lasse Laukkanen
4ebdd9b5ac fpsdisplaysink: initialize interval_ts and last_frames_* counters
Initialize interval_ts to first QOS event timestamp, otherwise the
fps statistics are printed always after one rendered frame.
Also, initialize last_frames_* counters, the values are bogus e.g. after
PLAYING-NULL-PLAYING state change.
2010-09-24 08:21:00 -03:00
Stefan Kost
a6b26cac65 rtpdtmfmux: remove unused variable 2010-09-24 13:30:30 +03:00
Stefan Kost
207aac1cec rtpdtmfmux: remove unused signal boilerplate 2010-09-24 13:30:30 +03:00
Stefan Kost
1d11da647f rtpmux: no need to ref pad in _chain() 2010-09-24 13:30:30 +03:00
Thiago Santos
b8afa0cc3c camerabin: Adds new video-colorspace-flag to flags
Adds a new flag to allow a colorspace convertion before
the video encoder element.

Fixes #603063
2010-09-22 23:47:08 -03:00
Thiago Santos
0a7ae539ea camerabin: Use link_full version for disabling hierarchy check
Disable hierarchy checks when linking because we are already
handling the element adding to bins and it should be done
correctly.
2010-09-22 23:47:08 -03:00
Thiago Santos
e893a8b82e camerabin: Set queues to silent
We currently don't use queues' signals, so set them
to silent.
2010-09-22 23:47:08 -03:00
Wim Taymans
c905ec861e pcapparse: fix weird caps code
Remove the weird (failing) code to figure out caps on the srcpad.
Add a caps property to decide what caps to put on the outgoing buffers.
Fix an event leak.
2010-09-22 16:43:21 +02:00
David Schleef
8e96a3393d colorspace: quiet a GST_ERROR 2010-09-21 18:16:08 -07:00
Wim Taymans
528f6e0573 sdpdemux: add property to disable redirect
Add a property to avoid redirection to the rtsp-sdp:// url but instead embeds an
rtspsrc element inside sdpdemux as the session manager.

Based on patch by Marco Ballesio.

Fixes #630046
2010-09-21 19:15:27 +02:00
Sebastian Dröge
21d74bb58d ttaparse: Don't post an error message on UNEXPECTED
Also don't use GST_FLOW_IS_FATAL()
2010-09-21 12:26:36 +02:00
Sebastian Dröge
d4782cbff8 sdpdemux: Don't use GST_FLOW_IS_SUCCESS() 2010-09-21 12:26:36 +02:00
Sebastian Dröge
793a3563fa rawparse: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:36 +02:00
Sebastian Dröge
f6014febc0 nuvdemux: Don't use GST_FLOW_IS_FATAL()
And don't post an error message for WRONG_STATE or UNEXPECTED.
2010-09-21 12:26:35 +02:00
Sebastian Dröge
d95bb66074 nsf: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Sebastian Dröge
dd8ae4e027 mxfdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Sebastian Dröge
f6713f9c3b mvedemux: Add proper flow return aggregation
NOT_LINKED should only be returned if all streams returned NOT_LINKED.
2010-09-21 12:26:35 +02:00
Sebastian Dröge
f407d51ae8 mpegdemux: Don't use GST_FLOW_IS_FATAL()
And fix some minor issues related to its usage.
2010-09-21 12:26:35 +02:00
Sebastian Dröge
dab5cbb1c0 autoconvert: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Sebastian Dröge
2c6372f41a baseparse: Don't use GST_FLOW_IS_FATAL()
Also don't post an error message for UNEXPECTED and do it
for NOT_LINKED.
2010-09-21 12:26:34 +02:00
Sebastian Dröge
b68a1e805d asfparse: Don't use GST_FLOW_IS_FATAL()
Also don't push EOS downstream on WRONG_STATE, it will be dropped anyway.
2010-09-21 12:26:34 +02:00
Sebastian Dröge
f2affc667f aiffparse: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:25:53 +02:00
Thiago Santos
30ff1ea346 camerabin: Mention photography interface in docs
Add a note to docs about getting the videosource and accessing
its photography interface (in case it has it)

Fixes #616923
2010-09-20 21:49:35 -03:00
Lasse Laukkanen
5767739431 camerabin: Adds missing variable initialization
Adds missing app_src_vid initialization
2010-09-20 21:22:55 -03:00
Teemu Katajisto
e6141120d8 camerabin: check state change to playing for imagebin and videobin
Properly check and handle error cases related to imagebin and
videobin state changes.
2010-09-20 21:21:58 -03:00
Thiago Santos
5355a3efd7 camerabin: Remove useless src template pad
camerabin imagebin doesn't need a src template pad.
2010-09-20 21:21:58 -03:00
Thiago Santos
9c3692cc4f camerabin: Forward tag events to preview pipeline
Forward tag events from image pipeline to preview pipeline so
that preview elements can use capture tags information
2010-09-20 21:21:58 -03:00
Hoseok Chang
f0f8df1a30 camerabin: add "preview-source-filter" property
Adds 'preview-source-filter' for adding an element to proccess
the preview images before posting them to the bus.
2010-09-20 20:46:00 -03:00
Thiago Santos
44fa17b036 camerabin: Make block-after-capture resetting more consistent
Adds another boolean to help controlling viewfinder blocking,
making it possible for the applications to reset the viewfinder
blocking after capture was started but before the blocking
actually happens.
2010-09-20 18:26:48 -03:00
Thiago Santos
87d600b7a2 camerabin: Unblock the viewfinder when going to READY
Unblock the viewfinder when going to ready to avoid
blocking when setting camerabin to playing again and
attemping to capture. Keep the property as is.
2010-09-20 18:26:48 -03:00
Thiago Santos
ca11a51295 camerabin: add monitoring and support for photoiface zoom for video-source
Makes camerabin aware of changes in its videosource zoom property.
2010-09-20 18:26:48 -03:00
Thiago Santos
19981f2787 camerabin: Change zoom property from int to float
Updates zoom property for a more natural type and
makes it consistent with the photography API
2010-09-20 18:26:48 -03:00
Lasse Laukkanen
3e6a4edb15 camerabin: remove caching photography interface settings
Camerabin doesn't implement photography interface, so we
don't need caching the video source properties anymore.
2010-09-20 18:26:48 -03:00
Teemu Katajisto
3582a4a595 camerabin: remove photography interface implementation from camerabin
Remove notify signal proxy for video-source. Application can use
video-source directly from now on to get notified of property changes.
Add monitoring scene-mode property change to select lowest possible
framerate for video capture when night mode is selected.

Fixes #616923
2010-09-20 18:26:47 -03:00
David Schleef
f464ac4d5d invtelecine: Fix name of 30p/60i pattern 2010-09-18 19:27:07 -07:00
David Schleef
8dfcc11bcb interlace: Add allow-rff property. Fix timestamping 2010-09-18 15:05:26 -07:00
David Schleef
fd3d269b8d interlace: merge telecine into normal operation 2010-09-18 14:58:04 -07:00
Robert Swain
351562936c interlace: Add telecine support 2010-09-18 14:58:04 -07:00
Thiago Santos
8047346898 qtmux: Follow xmp serialization guidelines closer
qt and isom variants have different ways of serializing
xmp, follow these guidelines.

Those can be found in Adobe's xmp docs.
2010-09-15 22:07:05 -03:00
Tim-Philipp Müller
42ffb8a4f3 colorspace: add orc-dist files
Should fix build without orc or too old orc.
2010-09-15 21:48:20 +01:00
Tim-Philipp Müller
af7887f0df checksumsink: fix up copyright in header file 2010-09-15 17:52:16 +01:00
David Schleef
5b6550dbd5 bayer2rgb: Add format=bggr/etc. to caps 2010-09-14 12:00:32 -07:00
David Schleef
742867566c colorspace: Add conversion code
Work in progress.  Colorspace handles most format conversion using
3-stage getline/matrix/putline process using an AYUV or ARGB
intermediate, with most functions handled by Orc.  There is also
a table of single-pass conversions, all handled by Orc.  The plan
is to add optional stages for various chroma upsampling/downsampling
algorithms, dithering, and float/int16 intermediates, and then have
Orc create multi-stage functions at runtime.
2010-09-14 12:00:29 -07:00
David Schleef
a25a81222d colorspace: Revive element
Now based on Orc.
2010-09-14 11:32:19 -07:00
Thiago Santos
3a9734f3dc jifmux: Reset tags when going to READY
Reset the tagsetter tags when going to READY state
2010-09-10 13:39:06 -03:00
Thiago Santos
2a0ae1ce1d jpegformat: Fix element description
Use saner categories for jifmux/jpegparse elements
2010-09-10 13:39:06 -03:00
Thiago Santos
fb00b71496 camerabin: Set tags to more elements
Remove check for 'Muxer' category when setting tags
for tagsetters. Set them to all tagsetters in the
pipelines.
2010-09-10 13:39:06 -03:00
Mark Nauwelaerts
3daea4a085 sdpdemux: redirect SDP with an rtsp control URL
When we find an SDP with an rtsp:// url as the global control attribute or when
all streams have an rtsp:// control attribute, post an redirect message with an
rtsp-sdp:// url containing the SDP.

Fixes #628214
2010-09-10 18:37:45 +02:00
Thiago Santos
6fcbf593b8 geometrictransform: Fix build with debugging disabled
Add some ifdefs to prevent build failures due to unused
variables
2010-09-10 10:29:38 -03:00
Thiago Santos
768babf968 id3mux: Map GST_TAG_ALBUM_ARTIST
Map GST_TAG_ALBUM_ARTIST to TPE2 as it is done in
-base id3tag mappings.
2010-09-08 16:57:57 -03:00
Thiago Santos
69151f6850 jifmux: Make it more colorspace smart
This makes it able to recombine rgb images, making it possible
to add tags to rgb jpegs as well.

Uses a simple strategy to check what are the possible colorspaces
and avoid adding jfif to ones that aren't YUV/Gray.
2010-09-07 14:45:12 -03:00
Robert Swain
141f728169 interlace: Fix element details 2010-09-07 13:32:26 +02:00
Mark Nauwelaerts
a5eaa99297 baseparse: non-TIME seek event is simply not handled 2010-09-06 15:20:10 +02:00
Youness Alaoui
9823b9358e dtmfsrc: Make the dtmfsrc accept events sent with gst_element_send_event
The doc says to use gst_element_send_event on the pipeline, but if
we are to call it on the element itself, it's a noop. This should make it
handle the event properly before delegating it to basesrc.
2010-09-06 13:45:44 +03:00
David Schleef
aa3fa6a542 interlace: Add documentation 2010-09-06 03:25:15 -07:00
Sebastian Dröge
6bc160a0dc fpsdisplay: Use G_GUINT64_FORMAT instead of %llu
Fixes compiler warnings on 64 bit architectures.
2010-09-06 10:29:21 +02:00
Stefan Kost
bbfff812bf inputselector: sync with copy in -base
Use _get_caps_reffed to avoid copies.
2010-09-06 11:03:07 +03:00
Stefan Kost
eca2e20945 outputselector: move the debug init to the boilerplate macro 2010-09-06 10:24:07 +03:00
Stefan Kost
b142b7a8c5 inputselector: use GST_BOILERPLATE macro 2010-09-06 10:24:07 +03:00
Stefan Kost
10776e474d fpsdisplaysink: don't add a g_mainloop dependency
Just update the fps-message from the probe handler.
2010-09-06 10:24:06 +03:00
Stefan Kost
9a03a43696 fpsdisplaysink: small cleanup
Add one one example and lower the fon't size for the overlay.
2010-09-06 10:24:06 +03:00
Rob Clark
60c963f0ac fpsdisplaysink: measure fps in terms of wall clock time
Measure fps in terms of system clock, rather than pipeline clock, to get
an accurate meaure of fps.
2010-09-06 10:24:06 +03:00
David Schleef
813a2235b5 checksumsink: Add new element 2010-09-05 22:50:06 -07:00
David Schleef
d759c92bb3 ssim: Add I420 support 2010-09-05 22:50:06 -07:00
David Schleef
5db2beeb49 interlace: Add more formats 2010-09-05 22:50:06 -07:00
Thiago Santos
9ae921f888 camerabin: Use jifmux instead of metadatamux
Use jifmux element to write exif/xmp tags instead of metadatamux
2010-09-05 09:15:56 -03:00
Thiago Santos
bcc59439bc camerabin: Use new tags from -base
Replace private tags from metadata plugin with the new generic tags
from -base.
2010-09-05 09:15:56 -03:00
Thiago Santos
27333b0ef2 jifmux: Do not limit the size of the image on 16bits
Use guint instead of guint16 to represent the size of the encoded image,
this would make some recombined images lose most of their data and
show like a big black image with a small line of content on top.

Also adds a minor log message.
2010-09-05 09:15:55 -03:00
Thiago Santos
f664fd9c04 jifmux: Set output pad caps
Set output pad caps to guarantee caps on the buffers being
pushed downstream.
2010-09-05 09:15:55 -03:00
Thiago Santos
d49acb5588 jifmux: Detect EOI correctly
EOI are not always at the last 4 bytes. We need to search
the last 5 bytes to find the 0xFFD9 sequence as jpegenc seems
to round the buffer size to the next 4 multiple.
2010-09-05 09:15:55 -03:00
Thiago Santos
ba15ad9387 jifmux: Put APP0 first always
Fixes the order of the APP0/APP1 markers. APP0 should
be first.
2010-09-05 09:15:55 -03:00
David Schleef
7ce0ca6c89 interlace: new element 2010-09-04 11:22:26 -07:00
Andoni Morales Alastruey
4668330bdc mpegtsmux: Initialize PES packet before getting the header size.
The PES header length is calculated before setting the dynamic flags, returning
a wrong value. Small frames that should be sent in a single TS packet are
spawned to a new packet because of that error. For audio streams where a single
frame can cope in one TS packet it introduces a huge overhead.

For a 100B packet, we prepare a TS packet with a payload of(100+9)B. Then, we
write the TS header using this value in tsmux_write_ts_header, and call
tsmux_stream_get_data(). The dynamic flags where not set yet and now
tsmux_stream_pes_header_length() returns 14B instead of 9B. The payload of the
TS packet is 114B, 5B more than what was calculated. 109B are sent in a first
packet and the remaining 5B are sent in another one.

Fixes bug #628548.
2010-09-04 15:01:30 +02:00
Thibault Saunier
98e6f113f6 videoanalyse: Use correct element classification
This is no effect but an analyzer. Fixes bug #628527.
2010-09-04 15:01:30 +02:00
Youness Alaoui
5cc57a82f0 rtpmux: Unlock the right mutex
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.

Fixes bug #627991
2010-08-30 15:15:50 +02:00
Mark Nauwelaerts
0ee6ce901d qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.

Fixes #624212.
2010-08-21 21:15:21 +02:00
Thiago Santos
407f615887 jifmux: Avoid recombining RGB jpegs
JFIF only allows YUV as colorspace, when we receive an RGB jpeg,
we should just push it forward without adding the JFIF marker.

Fixes #627413
2010-08-21 21:08:13 +02:00
Olivier Crête
db44c62acb gaudieffects: Mark inline functions as static inline
Otherwise it fails to correctly link them in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=626670
2010-08-12 09:14:10 +01:00
Sebastian Dröge
5ad7ff9482 legacyresample: Link against $(LIBM) for rint() and friends 2010-08-11 11:52:44 +02:00
Sebastian Dröge
e71baf7f9d invtelecine: Link against $(LIBM) for sqrt() and friends 2010-08-11 11:50:05 +02:00
Filippo Argiolas
fd4a629825 geometrictransform: add a "zoom" parameter to square filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
4cec7d10cd geometrictransform: make square "width" and "height" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
2a9b456dab geometrictransform: add a "mode" property to mirror filter
Add a "mode" enum property to mirror that defines how to split the frame
and with side reflect.

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
a72b2f5849 geometrictransform: add a "zoom" parameter to bulge filter
Rework bulge mapping function to give more predictable results.
Now the bulge is done dividing by a scale factor that smoothsteps from
"zoom" at the center to 1.0 at "radius".

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
58b76ac56c geometrictransform: add an "intensity" parameter to stretch filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
7be30c3daf geometrictransform: make tunnel "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
1652a3ef57 geometrictransform: make bulge "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
27134c6e38 geometrictransform: make stretch "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Sebastian Dröge
6050642add frei0r: Only check the plugin filenames, not the directory names 2010-08-08 12:01:31 +02:00
Sebastian Dröge
1e3ec9e3bd frei0r: Don't try to register/load the same frei0r plugin at different locations twice
This could happen because for example /usr/lib is linked
to /usr/lib64 and both are loaded. The frei0r specification
says that the plugin init function must only be called once
and for some plugin weird things (including crashes) are
happening.

Fixes bug #623710.
2010-08-08 11:56:42 +02:00
Olivier Crête
3579c1164b frei0r: Load plugins in /usr/{local/,}lib{32,64}/frei0r-1 too
Loads the plugins in more paths where they could be installed by
multilib distributions.

Fixes #623710
2010-08-06 03:19:16 +02:00
Filippo Argiolas
c921067208 geometrictransform: make ciclegt "radius" property relative
Make the "radius" property of CircleGeometricTransform relative.
This is more coherent with the way [x,y]-center properties are handled
and allow to set a radius without knowing the video size.
Radius is defined with respect to the circle circumscribed about the
video rectangle so that a point in the center has radius 0.0 and one in
a vertex has radius 1.0.
Note that this is not a regression from the previous absolute way of
defining the radius as a user who knows the video size can easily
calculate the relative radius and set that.

https://bugzilla.gnome.org/show_bug.cgi?id=625959
2010-08-04 20:09:09 -03:00
Tim-Philipp Müller
770194a8fc id3mux: minor code clean-up
Add helper function to write text frames with just one string.
2010-08-04 23:56:04 +01:00
Jonathan Matthew
76311f2ef0 id3mux: add support for beats-per-minute tag
Write beats per minute into the TBPM frame, and add unit
test for id3mux, based on id3v2mux unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=621523
2010-08-04 23:56:04 +01:00
Sebastian Dröge
09507edb8c coloreffects: Minor cleanup 2010-08-04 10:11:11 +02:00
Sebastian Dröge
43db67f705 coloreffects: Improve property description a bit 2010-08-04 10:09:53 +02:00
Sebastian Dröge
3878dce20d coloreffects: Don't use the fixed_caps func on the pads
coloreffects can renegotiate during playback without any problems.
2010-08-04 10:08:24 +02:00
Filippo Argiolas
74de641ca4 coloreffects: add ayuv support
Currently implemented switching from yuv to rgb, looking up rgb from the
table in the usual way, getting back to yuv. With luma lookup presets
(sepia, heat, xray) a color space conversion is saved directly looking
up rgb for a given Y and converting to yuv.
Probably this latter step can even be made faster precalculating a luma
to yuv table in an outer loop.

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:05:35 +02:00
Filippo Argiolas
79c343bade coloreffects: new plugin for lookup table color mapping
Implements a color lookup table filter with 4 presets:
 - heat: fake heat camera effect
 - sepia: sepia toning
 - xray: invert + shade to blue
 - xpro: cross process

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:04:20 +02:00
Filippo Argiolas
0c0adffce7 geometrictransform: new filter "fisheye"
Ports gleffects "fisheye" filter to geometrictransform.
Fake fisheye lens filter. Somewhat empiric implementation because I
didn't find any good algorithm that does it with nice results.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:16:37 +02:00
Filippo Argiolas
9ee12f94de geometrictransform: new filter "mirror"
Ports gleffects "mirror" filter to geometrictransform.
Simple yet effective mirror effect, splits the image into halves and
reflect the first into the second.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:15:06 +02:00
Filippo Argiolas
5c4915d917 geometrictransform: new filter "square"
Ports gleffects "square" filter to geometrictransform.
Maps a region around the center into a zoomed square and smoothly get
back to normal zoom. With faces it makes a funny "cube-face" effect.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:14:23 +02:00
Filippo Argiolas
a7fb7ae06c geometrictransform: new filter "tunnel"
Ports gleffects "tunnel" filter to geometrictransform.
Do nothing in a circle around the center and zoom outside.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:12:44 +02:00
Filippo Argiolas
3ba3310b01 geometrictransform: new filter "bulge"
Ports gleffects "bulge" filter to geometrictransform.
Adds a protuberance around the center point.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:11:28 +02:00
Filippo Argiolas
2edd185a9a geometrictransform: new filter "stretch"
Ports gleffects "stretch" filter to geometrictransform.
Shrinks the image around the center and gradually return to normal zoom
creating funny caricatures.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:09:26 +02:00
Jan Schmidt
2f1899cd31 gaudieffects: Add Gaussian Blur effect, and brief example. 2010-08-02 20:46:48 +10:00
Zaheer Abbas Merali
c7b195740e mpegtsparse: actually work when we have small buffers coming in
available_fast is not what we want and it will never get to discover packet
size if 188 byte buffers are being picked up.
2010-07-29 10:38:58 +01:00
Tim-Philipp Müller
e12ca273db ivfparse: fix up macros and function names to match guidelines 2010-07-28 18:42:05 +02:00
Tim-Philipp Müller
120d4a2955 gaudieffects: fix structure names to comply with the plugin moving guidelines 2010-07-28 18:42:05 +02:00
Marc-André Lureau
691901da51 qtmux: use caps bitrate at last chance
If we didn't get the stream's bitrate from one of the atoms,
try getting it from the caps as a last resort.

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2010-07-28 12:23:21 -03:00
Marc-André Lureau
2e17f7cbf7 qtmux: btrt - max bitrate before average
According to iso base media file format, the max bitrate
is before the avg

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2010-07-28 12:20:52 -03:00
Luis de Bethencourt
b870ff15b5 gaudieffects: Adds new plugin 'gaudieffects'
Adds the new 'gaudieffects' plugin, originally found
here: http://github.com/luisbg/gaudi_effects

Contains the following video effect elements: burn, chromium, dilate,
dodge, exclusion and solarize.

Thanks to Jan Schmidt for the reviewing and refactoring
2010-07-20 20:07:56 -03:00
Sebastian Dröge
7d4fcdc5cf frei0r: Use correct order of directories to search for plugins
And don't fail if a plugin was already registered. Frei0r allows
plugins in directories with higher importance to override plugins
from directories with lower importance.
2010-07-11 10:47:37 +02:00
David Hoyt
3172e11121 aifmmux: use alternative way to check for inf
MSVC emits a divide-by-zero error when compiling aiffmux.c on line 205.
Fixes #623881.
2010-07-09 17:44:56 +03:00
Víctor Manuel Jáquez Leal
1d57953496 jpegparse: fix exif frame size
Skip the correct number of bytes when reading exif
data

Fixes #623854
2010-07-08 14:27:45 -03:00
Thiago Santos
44e3d29ec4 camerabin: Fix viewfiner-sink property for bins
Correctly iterate viewfinder-sink children when
it is a bin.

Fixes #623802
2010-07-07 23:21:52 -03:00
Arun Raghavan
c28613d8db qtmux: Write 'btrt' atom for H.264 media if possible
This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2010-07-07 23:21:51 -03:00
Arun Raghavan
827e401e3a qtmux: Write avg/max bitrate to ESDS if available
This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2010-07-07 23:21:51 -03:00
Tim-Philipp Müller
8e2af9017e asfmux: only use g_warning() when setting the old is-live property, not when reading it
Don't want warnings in e.g. gst-inspect.
2010-07-06 13:15:27 +01:00
Mark Nauwelaerts
3a1d0b7a0f jpegparse: fix skipping extra 0xff markers
In particular, this makes the jpegparse unit test pass again.
Also add a debug statement.

Fixes #622690.
2010-07-05 11:54:25 +02:00
Edward Hervey
e5ce188b1d qtmux: Don't use bogus codec/format tags
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2010-07-02 12:46:08 +02:00
Olivier Crête
d46275c37f rtpmux: Add support for GstBufferList
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
2010-07-02 00:15:49 -04:00
Olivier Crête
5d21b0815a rtpmux: Don't leak invalid buffers 2010-07-02 00:15:49 -04:00
Olivier Crête
7950499805 videomaxrate: Add to docs 2010-07-02 00:06:44 -04:00
Olivier Crête
68aaa637b8 videomaxrate: Add fixates_caps 2010-07-02 00:06:44 -04:00
Olivier Crête
f027b95400 videomaxrate: Accept wider caps 2010-07-02 00:06:44 -04:00
Olivier Crête
b9601e2096 videomaxrate: Make period over which to average configurable 2010-07-02 00:06:44 -04:00
Olivier Crête
3449d16566 videomaxrate: Simplify transform_caps 2010-07-02 00:06:44 -04:00
Olivier Crête
ed74d385bc videomaxrate: Use basetransform correctly 2010-07-02 00:06:44 -04:00
Olivier Crête
6aa71af0ec videomaxrate: Make plugin actually work by using an average 2010-07-02 00:06:44 -04:00
Olivier Crête
599027fe24 videomaxrate: Import plugin
Import plugin from PsiMedia, based on my work
2010-07-02 00:06:44 -04:00
Thiago Santos
c470918903 fpsdisplaysink: signal-fps-measurements is writable
signal-fps-measurements is a readwrite property, not read-only.

Also adds some more debugging logs.
2010-07-01 17:13:25 -03:00
Sebastian Pölsterl
61a8856133 mpegtsparse: don't free PAT structure which may still be needed later
This is a problem if you tune to a channel which uses pid X and later tune to
another channel where X is used for another table (e.g. PMT).

The code that does that was actually already there but never used because the
pat structure was freed before. The commit that introduced those lines intended
to fix a memory leak, but we clean things up elsewhere.

Fixes #622725.
2010-06-30 18:27:16 +01:00
Sebastian Dröge
5e8a24274f legacyresample: Include _stdint.h for int16_t and friends 2010-06-27 19:22:39 +02:00
Tim-Philipp Müller
144d43bcef assrender, ivfparse, jpegformat: fix compiler warnings with debugging disabled in core 2010-06-27 11:25:20 +01:00
Thiago Santos
be3a4b7978 qtmux: Write uint tags that don't have a complement
Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.

Fixes #622484
2010-06-25 20:19:20 -03:00
Thiago Santos
a267d287f5 asfmux: Warn if preroll value is too big
Post a warning when the preroll value is greater than
the streams duration
2010-06-24 20:22:16 -03:00
Thiago Santos
423418a51b asfmux: Make metadata writable before setting it
Before copying metadata from one buffer to another, make sure
the destination is metadata-writable.
2010-06-24 18:33:39 -03:00
Thiago Santos
57b9ce71b4 fpsdisplaysink: Adds a signal to inform measurements to apps
Adds a signal for applications to receive the fps measurements made
instead of only printing them to the frame/stdout.

This signal is only emited if the signal-fps-measurements property
is set to TRUE
2010-06-24 13:53:08 -03:00
Thiago Santos
f78bf26951 fpsdisplaysink: Adds max-fps and min-fps property
Adds 2 properties for getting the maximum and minimum fps
values measured
2010-06-24 13:34:14 -03:00
Thiago Santos
dfec8f7fae fpsdisplaysink: Use G_PARAM_STATIC_STRINGS in all properties
Add G_PARAM_STATIC_STRINGS to the properties that are
missing it
2010-06-24 13:34:14 -03:00
Thiago Santos
dc8f1dbb3e fpsdisplaysink: Add fps-update-interval property
Use a property to set/get the fps update interval instead
of having a hardcoded value.
2010-06-24 13:34:13 -03:00
Mark Nauwelaerts
21a6347b39 h264parse: obtain correct upstream timestamp
... for optional downstream use.
2010-06-23 10:39:53 +02:00
Mark Nauwelaerts
4c7fd3c247 h264parse: add new h264 caps attribute alignment
See #606662.
2010-06-22 12:39:59 +02:00
Edward Hervey
02cc3313b4 qtmux: Remove the pad from our internal list before calling collectpads
Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.

Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
2010-06-21 19:42:50 +02:00
Thiago Santos
478ef90cf9 camerabin: Move debug category declaration to a separate file
Having GST_DEBUG_CATEGORY and GST_DEBUG_CATEGORY_EXTERN together
might lead to 'undefined symbol' problems. This commit moves
the _EXTERN to a separate new file.
2010-06-21 10:25:15 -03:00
Thijs Vermeir
1244738bc1 Revert "h264parse: add parsed field to src caps"
This reverts commit 54edae4f1f.

See this bug for more information:
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2010-06-21 11:13:20 +02:00
Austin Lund
2ed73a6ad0 mpegvideoparse: Remove redundant log message 2010-06-20 23:34:56 +10:00
Thijs Vermeir
54edae4f1f h264parse: add parsed field to src caps 2010-06-20 10:59:56 +02:00
Thiago Santos
34836d6ea4 id3tag: Use gst_tag_list_peek_string_index
Replace _get_string_index with _peek_string_index to avoid
a string copy
2010-06-18 14:49:24 -03:00
Mark Nauwelaerts
33e78b12b4 h264parse: also handle 3-byte bytestream sync code 2010-06-18 18:42:47 +02:00
Thijs Vermeir
ba39867606 mpegdemux: improve debug output 2010-06-17 10:52:31 +02:00
Benjamin Otte
147e0682b4 pnmdec: Don't crash if no valid input was parsed yet
https://bugzilla.redhat.com/show_bug.cgi?id=603771
2010-06-16 10:31:19 +02:00
Austin Lund
0fba38f833 mpegvideoparse: Added debugging output for mpegpacketiser 2010-06-16 10:39:04 +10:00
Mark Nauwelaerts
112df6cc0e baseparse: fix seek event ref handling 2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
484af544bf baseparse: prevent arithmetic overflows in pull mode buffer cache handling 2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
07561dbfd1 baseparse: fix seek handling
Allow a few more seek event type combinations, and really use the result
of gst_segment_set_seek to perform the seek.  Also add some debug.
2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
a60af008d5 mpeg4videoparse: sprinkle some branch prediction 2010-06-15 11:30:45 +02:00
Mark Nauwelaerts
cd018e5440 mpeg4videoparse: handle FLUSH_STOP event 2010-06-15 11:30:41 +02:00
Mark Nauwelaerts
c2b649d692 mpeg4videoparse: add config-interval parameter to re-insert config in stream
Add a new config-interval property to instruct the parser to insert
config (VOSH, VOS, etc) at periodic intervals in the stream
(when a GOP or VOP-I is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #621205.
2010-06-15 11:30:39 +02:00
Jan Schmidt
2f9b765326 mpegvideoparse: Apply previous timestamp when there isn't any newer.
If the current incoming packet didn't carry a timestamp, but a
previous packet had one we didn't yet use, then apply that timestamp
to the next picture.
Fixes: #618336
2010-06-15 17:16:12 +10:00
Mark Nauwelaerts
7601bc306a jpegparse: handle FLUSH_STOP sink event 2010-06-14 15:48:34 +02:00
Mark Nauwelaerts
e6cf05b114 jpegparse: optimize image parsing
Use adapter API for scanning and peeking to reduce buffer copying.

See #583047.
2010-06-14 15:48:34 +02:00
Sebastian Dröge
b1a12c3a2d mpegtsdemux: Don't use liboil functions
glibc memcpy() will be faster than liboil's/orc's for now anyway
and we can use orc's later, after orc has support for loop unrolling.
2010-06-14 14:48:02 +02:00
Sebastian Dröge
3a2f40e160 legacyresample: Don't include liboil headers, they're not used anyway 2010-06-14 14:47:47 +02:00
Mark Nauwelaerts
d6cab72552 h264parse: add option to insert SPS/PPS in stream
Add a new config-interval property to insert SPS and PPS at periodic intervals
in the stream (when an IDR is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #620978.
2010-06-14 12:49:40 +02:00
Mark Nauwelaerts
3a1fad6099 h264parse: also collect SPS and PPS nalu in codec_data 2010-06-14 11:59:55 +02:00
Thiago Santos
00897e21a9 jpegformat: Add exif support
Adds exif writing support to jifmux.
Adds parsing support to jpegparse.

Fixes #614872
2010-06-09 17:29:32 -03:00
Thiago Santos
bc8f4adaa6 asfmux: Deprecate 'is-live' and add 'streamable' property
Following the similar change in flvmux, this commit adds
'streamable' property and deprecated 'is-live' for a better/less wrong
name.
2010-06-08 19:37:43 -03:00
Andoni Morales Alastruey
40209aa30f asfmux: don't set the 'seekable' flag if we are streaming
Fixes #618522
2010-06-08 14:50:35 -03:00
Andoni Morales Alastruey
2a94798136 asfmux: write preroll info in the header at initialization
This value doesn't need to be updated and is usefull in a streaming context

Fixes #618522
2010-06-08 14:50:22 -03:00
Andoni Morales Alastruey
0039494227 asfmux: put headers in streamheader for streaming
Fixes #618522
2010-06-08 14:49:30 -03:00
Marc-André Lureau
43f8e926e7 mpegtsmux: start pmt at 0x020 as suggested by Zaheer 2010-06-08 15:36:47 +02:00
Marc-André Lureau
d335a55b49 mpegtsmux: take all the pmt in the streamheaders 2010-06-08 15:36:29 +02:00
Thiago Santos
233b09f9b9 camerabin: Do not assert on set_property to NULL for elements
Check if the value is NULL before reffing them in set_property
for 'GstElement' properties
2010-06-08 09:14:01 -03:00
Thiago Santos
7806ba95b6 camerabin: Do not assert on null caps property
If camerabin receives a null caps as 'filter-caps' argument,
use the default value
2010-06-08 08:41:49 -03:00
Thiago Santos
4fa3e217e2 geometrictransform: Use _CAST macro
Replace default type casting macro with the faster direct _CAST macro
2010-06-07 22:56:17 -03:00
Thiago Santos
1c33b79c0c geometrictransform: Make properties controllable
Makes the element's properties controllable and threadsafe.

Fixes #620825
2010-06-07 22:55:24 -03:00
Olivier Crête
dd13e85ca1 dtmfdetect: Only works with rate=8000, fix in caps 2010-06-07 11:15:26 -04:00
Thiago Santos
72590ad056 camerabin: Fix crash in 'filename' property
Do not crash when filename property is set to NULL, use an
empty string instead.
2010-06-07 07:58:22 -03:00
Thiago Santos
017808ef8d marble: Adds 'marble' element to geometrictransform
Adds a new element that does a marbling effect to
geometrictransform plugin
2010-06-06 22:38:34 -03:00
Thiago Santos
a45a1d70dd geometrictransform: Use explicit formats from gstvideo
Use explicit format macros from gstvideo to avoid exposing
unsupported formats on template pads. Using the macros
also give us complete caps (width/height/framerate).

And add support for AYUV.

Fixes #620717
2010-06-06 14:35:44 -03:00
Thiago Santos
9f6cbc889b diffuse: Adds diffuse element to geometrictransform
Adds the 'diffuse' element to geometrictransform. It moves
the pixels of the image in random directions
2010-06-06 13:00:45 -03:00
Thiago Santos
e7d417f4fc geometrictransform: Make map precalculation optional
Adds a variable to be set to allow subclasses to enable
or disable precalculation of the pixels mapping
2010-06-06 13:00:44 -03:00
Sebastian Dröge
547f037ea4 rtmp: Move to ext and drop internal librtmp copy
We really don't want this in gst-plugins-bad because of
legal complexities around RTMP and possible problems
for distributions.

Add README that explains how to build librtmp to be suitable
for linking to the GStreamer plugin.
2010-06-05 18:02:39 +02:00
Bastien Nocera
b87668e143 rtmp: Add RTMP source plugin
https://bugzilla.gnome.org/show_bug.cgi?id=566604
2010-06-05 18:02:39 +02:00
Thiago Santos
581b63c678 geometrictransform: Set output buffer data to 0
Initialize output buffer data to 0 before doing the
transform.
2010-06-05 11:04:45 -03:00
Thiago Santos
964c71b7c6 geometrictransform: Descriptions and default values
Improve some properties and element descriptions and changes
some default properties values.
2010-06-05 10:58:00 -03:00
Thiago Santos
44d33ee1c8 geometrictransform: Remove trailing whitespace
Remove trailing whitespace from geometrictransform files
2010-06-04 15:53:20 -03:00
Thiago Santos
213277cc02 waterripple: Adds new waterripple element to geometrictransofmr
Adds an water ripple distortion element to geometrictransform
2010-06-04 15:31:22 -03:00
Thiago Santos
ed7461b589 sphere: Adds new 'sphere' element to geometrictransform
Adds a new element to do 'sphere' effect into geometrictransform
plugin
2010-06-04 15:31:22 -03:00
Thiago Santos
a00614064b geometrictransform: adds some properties to base class
Adds a property to select what to do with pixels that are mapped out of
edges: ignore, clamp or wrap.
2010-06-04 15:31:22 -03:00
Thiago Santos
179e234361 circle: Adds circle element to geometrictransform plugin
Adds the new 'circle' element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
8eab2c8a30 kaleidoscope: Adds new element 'kaleidoscope'
Adds new kaleidoscope element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
53d40802d2 gsttwirl: Adds new element twirl
Adds a new element to geometrictransform plugin: twirl
2010-06-04 15:31:21 -03:00
Thiago Santos
2f9a630a62 geometrictransform: Adds a intermediary baseclass circlegeometrictransform
Adds an intermediary baseclass named gstcirclegeometrictransform
to keep common properties code for filters that operate on
a circular area.
2010-06-04 15:31:20 -03:00
Thiago Santos
dcda4b606c pinch: Some optimization using the prepare func
Small optimization by precalculating the center of the effect,
also use newly added _CAST macro.
2010-06-04 15:31:20 -03:00
Thiago Santos
8c5360a559 geometrictransform: Adds prepare function and cleanup
Adds a prepare function to make subclasses precalculate values
that will be used throughout the mapping functions.

Also adds a missing cleanup to fix a memleak
2010-06-04 15:31:19 -03:00
Thiago Santos
6560248be9 geometrictransform: Precalculate mapping array
Precalculate when setting caps the warping map to avoid
recalculating it every buffer
2010-06-04 15:31:19 -03:00
Thiago Santos
1250a7406d geometrictransform: Accept any rgb or gray
Using gstvideo functions geometrictransform can handle
rgb or gray, put that on template caps
2010-06-04 15:31:19 -03:00
Thiago Santos
525aae23dc geometrictransform: Rename some variables for clarity
Renames some variables and adds a minimum doc to the
mapping function for a little clarity.

Also uses gstvideo functions for the row and pixel strides
instead of hardcoded values
2010-06-04 15:31:18 -03:00
Thiago Santos
b7660b122c geometrictransform: New plugin for geometric transforms
Adds a new plugin that has elements that perform geometric
transformations to images. By geometric transformations I mean
that the operations are functions that given the output pixel
position, get the pixel position in the input image. This pixel
is then copied from input to output.

The gstgeometrictransform baseclass makes it easy to write
such elements. It boils down to write the mapping function
and exposing properties

Already added the first of the elements, 'pinch'. It's a common
effect in image editors, like gimp (distort -> pinch)
2010-06-04 15:31:18 -03:00
David Schleef
90a2cd5cc5 bayer2rgb: handle other bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
2db6d968d8 rgb2bayer: handle multiple bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
5c1eb82b8a bayer: Add rgb2bayer element
Mostly for testing/completeness.
2010-06-03 23:57:45 -07:00
Olivier Crête
21686e3077 shm: Move to sys/ since it doesn't exist on windows 2010-06-03 15:27:43 -04:00
Olivier Crête
536e79befd shmsrc: Fix indentation 2010-06-03 15:27:43 -04:00
Olivier Crête
f26d799676 shmsink: Print errors if fchmod fails 2010-06-03 15:27:43 -04:00
Olivier Crête
b9decbb056 shmpipe: Fix crash when sp_close_shm is called with self == NULL.
If sp_open_shm errors out trying to open a shm area, it would crash
when trying to free the area. The RETURN_ERROR macro calls
sp_shm_area_dec with self == NULL. sp_shm_area_dec calls
sp_shm_close, with self == NULL, which it then tries to access a
parameter of without checking. This patch checks to make sure
self != NULL before accessing that parameter.
2010-06-03 15:27:43 -04:00
Olivier Crête
e8b4310aa6 shmpipe: Update code standard 2010-06-03 15:27:43 -04:00
Olivier Crête
c60ef5e81f shmsrc: Add socket path to error message 2010-06-03 15:27:43 -04:00
Olivier Crête
f366356fdf shmpipe: Remove wrong test inversion 2010-06-03 15:27:42 -04:00
Olivier Crête
1d893f8157 shmpipe: Verify that accept succeeds 2010-06-03 15:27:42 -04:00
Olivier Crête
d2731d689d shmpipe: Fix one byte overflow 2010-06-03 15:27:42 -04:00
Olivier Crête
2c02d0c0e4 shmsrc: Improve debug prints 2010-06-03 15:27:42 -04:00
Olivier Crête
5c7a160de5 shmsink: Get potentially modified after opening shmpipe 2010-06-03 15:27:42 -04:00
Olivier Crête
7e8eae9f2a shm: Try alternate paths for the socket 2010-06-03 15:27:42 -04:00
Olivier Crête
73fa2f9b76 shmpipe: Don't pretend the path is random 2010-06-03 15:27:42 -04:00
Olivier Crête
7c2a445a72 shmpipe: Create shm area exclusively 2010-06-03 15:27:42 -04:00
Olivier Crête
807da2165a shmalloc: Make it build in non-glib world 2010-06-03 15:27:42 -04:00
Olivier Crête
c8eb511a9d shmsrc: Make the shmpipe life independant of the element states 2010-06-03 15:27:42 -04:00
Olivier Crête
8f8b50a88e shmpipe: Simplify handling of random paths 2010-06-03 15:27:42 -04:00
Olivier Crête
23414310a6 shmpipe: Remove useless attrib 2010-06-03 15:27:42 -04:00
Olivier Crête
007a26ac08 shmpipe: Ref client shmarea when a buffer is received in it 2010-06-03 15:27:42 -04:00
Olivier Crête
68c9ed6e5c shmpipe: Don't dec old shm area when new one is added
Its ref will be dropped when the "close" message arrives
2010-06-03 15:27:41 -04:00
Olivier Crête
4f4ba5981b shmsrc: Lock uses of shmpipe 2010-06-03 15:27:41 -04:00
Olivier Crête
92dccdd170 shmsrc: Add is-live property 2010-06-03 15:27:41 -04:00
Olivier Crête
43de02d25a shm: Print details on errors 2010-06-03 15:27:41 -04:00
Olivier Crête
f97d02375b shm: Make valgrind happy 2010-06-03 15:27:41 -04:00
Olivier Crête
663a8eac54 shmsink: Don't block on EOS in non-blocking mode 2010-06-03 15:27:41 -04:00
Olivier Crête
c5797b06ca shm: Block if required 2010-06-03 15:27:41 -04:00
Olivier Crête
67785f331a shmsink: Port to ShmPipe 2010-06-03 15:27:41 -04:00
Olivier Crête
b6bc52f961 shmsrc: Port to ShmPipe 2010-06-03 15:27:41 -04:00
Olivier Crête
7e90514747 shm: Add shmpipe implementation 2010-06-03 15:27:41 -04:00
Olivier Crête
e87cd0a29a shm: Add shm based sink and src
These two elements (shmsink and shmsrc) communicate buffers using POSIX
shared memory. They also communicate the caps. The source currently acts as
a live source and ignores the timestamps coming from the sink. It also does
not transfer the tags.
2010-06-03 15:27:41 -04:00
Arun Raghavan
e5a37377ae mpegtsdemux: Some checks to avoid asserts
gst_mpeg_descriptor_find() expects the description field to be non-NULL.
This fixes a couple of calls where the value being passed is not
verified to be non-NULL first.

https://bugzilla.gnome.org/show_bug.cgi?id=620456
2010-06-03 20:11:29 +02:00
Tim-Philipp Müller
ca5893e804 rtpmux: fix missing debug log message argument 2010-06-03 10:43:20 +01:00
David Schleef
76f136375c invtelecine: add an assert to placate gcc-4.5 2010-06-02 22:07:31 -07:00
Olivier Crête
63c509b13e rtpdtmfmux: Add some debug messages 2010-06-02 20:47:08 -04:00
Olivier Crête
2a39f410c1 rtpdtmfmux: Remove stream-lock event handling 2010-06-02 20:47:08 -04:00
Olivier Crête
e884e70f8e rtpdtmfmux: Update doc for simplification 2010-06-02 20:47:08 -04:00
Olivier Crête
0528e09974 dtmf: Remove rtpdtmfmux stream-lock code 2010-06-02 20:47:08 -04:00
Olivier Crête
136d4688c0 rtpdtmfmux: Drop buffers on non-priority sinks when something is incoming on the priority sink 2010-06-02 20:47:08 -04:00
Olivier Crête
3f3f72889a rtpdtmfmux: Add priority sink pads 2010-06-02 20:47:08 -04:00
Olivier Crête
60b4c4ef4b rtpdtmfmux: Cleanup event function 2010-06-02 20:47:07 -04:00
Olivier Crête
68df62aa55 rtpmux: Aggregate incoming segments 2010-06-02 20:47:07 -04:00
Olivier Crête
e967023810 rtpdtmfmux: Update documentation 2010-06-02 20:47:07 -04:00
Olivier Crête
1c03b56146 rtpmux: Simplify request pad creation 2010-06-02 20:47:07 -04:00
David Schleef
d13b2b8287 Merge branch 'hacking' 2010-06-02 11:31:26 -07:00
David Schleef
6ceb310dc6 invtelecine: Add verify-field-flags property
When enabled, check that the video matches the field flags on the
incoming buffers.
2010-06-02 11:30:44 -07:00
David Schleef
88f4a6a0ed invtelecine: remove old code 2010-06-02 11:30:32 -07:00
David Schleef
c439a6bc36 invtelecine: Add 4:2:2 formats 2010-06-02 11:29:57 -07:00
David Schleef
750cdc912b invtelecine: Change format table
Add format name, phase table.
2010-06-02 11:29:05 -07:00
David Schleef
b213b03804 invtelecine: Add multiple pulldown formats 2010-06-02 11:26:41 -07:00
David Schleef
00174c8fa8 invtelecine: handle different frame sizes 2010-06-02 11:26:41 -07:00
Руслан Ижбулатов
a7fe2c391c ivfparse: Fix format string warning
Fixes #620324
2010-06-02 10:06:26 +02:00
Sebastian Dröge
1a95b29115 ivfparse: Send an initial NEWSEGMENT event 2010-06-01 11:19:46 +02:00
Sebastian Dröge
820c8f9ed1 ivfparse: Integrate into the build system 2010-06-01 11:19:46 +02:00
Sebastian Dröge
d1e3217be8 ivfparse: Add simple IVF parser
This only supports VP8 so far.
Fixes bug #619158.
2010-06-01 11:19:45 +02:00
Tim-Philipp Müller
cbd74ceff4 mpegvideoparse: change profile and level strings to something nicer-looking
This is more in line with what we do elsewhere, even if it doesn't
resemble the offical abbreviations exactly.

See #616078.
2010-05-28 12:50:01 +01:00
Mark Nauwelaerts
413716d1d9 h264parse: plug a few memory leaks
Fixes #619617.
2010-05-28 12:36:23 +01:00
Zaheer Abbas Merali
721643431e mpegvideoparse: fix crash if downstream is unliked
mpeg_packetizer_get_block() in some circumstances (here: if
downstream was unlinked) returns a block but does not set the
buffer causing mpegvideoparse_drain_avail() to cause invalid memory
access.

Fixes #619502.
2010-05-25 00:29:58 +01:00
Thiago Santos
c6e77c3d03 Removing remaining gstapp*
There are some remaining gstapp* living unlinked from the build scripts.
Remove them.
2010-05-24 20:03:21 -03:00
Sebastian Pölsterl
58b926b978 mpegtspacketizer: fix minor memory leak
Don't leak language code.

Fixes #619444.
2010-05-23 19:20:31 +01:00
David Schleef
c3d4977761 Split out GST_PLUGINS_BAD_CFLAGS from GST_CFLAGS
Move include directives for gst-libs into GST_PLUGINS_BAD_CFLAGS,
and fix all the Makefiles that use it.  This is so that all the
include directories are added in the proper order: first the
directories in srcdir/builddir, then gst-plugins-base dirs, then
gstreamer dirs.  If the order is wrong, installed headers may be
used instead of local headers and/or uninstalled headers from -base.
2010-05-19 18:24:02 -07:00
David Schleef
d1cfc50507 qtmux: Add VP8 2010-05-19 19:24:04 +02:00
Alessandro Decina
2441c79afa h264parse: fix wrong timestamps in some cases after seeking.
Reset ->last_outbuf_dts on flush-stop. Fixes #619064.
2010-05-19 11:18:28 +02:00
Zaheer Abbas Merali
5208d030b3 mpegtsdemux: fix memory corruption when parsing adaptation field 2010-05-17 16:26:03 +01:00
Sebastian Dröge
f09a8893c1 festival: Only close the connection if it's opened 2010-05-13 14:43:28 +02:00
Ivan Zderadicka
41bba48ccb festival: Don't open an infinite number of connections to the server and close connections
Fixes bug #618527.
2010-05-13 14:43:28 +02:00
Joshua M. Doe
59fddc9237 frei0r: Fix setting of boolean values
Setting boolean type parameters from gst-launch failed because of improper handling of type conversions.

Fixes bug #618388.
2010-05-12 18:18:46 +02:00
Zaheer Abbas Merali
d2bd939899 mpegtsparse: parse TDT table in mpegts.
Some tables in MPEG-TS do not have a crc in the spec, so also mpegtsparse
is not calculating crc for sections with table_id 0x70 - 0x72 because they
do not have a CRC in the spec. See EN300468. Parse Time and Date table and
output bus message.
2010-05-12 13:00:16 +02:00
Tim-Philipp Müller
bb93d06ca0 Remove imagefreeze plugin/element.
It has been moved to gst-plugins-good.

See #613786.
2010-05-11 14:02:33 +01:00
Tim-Philipp Müller
ee063478ff Remove capssetter element
It has been moved to gst-plugins-good.

See #617739.
2010-05-11 13:08:41 +01:00
Stefan Kost
418a791868 jpegformat: make the intention of the elements more clear 2010-05-07 22:53:17 +03:00
Thiago Santos
20a8666388 Revert "jifmux: Merge xmp and tagsetter tags."
This reverts commit 4e5c412234.

jifmux shouldn't be able to handle jif and shouldn't expect
any xmp on its data. So, no need to handle them.
2010-05-07 14:00:03 -03:00
Thiago Santos
4e5c412234 jifmux: Merge xmp and tagsetter tags.
When the current file already has tags, they shouldn't be ignored,
parse them and merge with the tagsetter ones.
2010-05-07 12:42:23 -03:00
Thiago Santos
a9e4c64efa jifmux: Reject buffers without caps
jifmux expects whole jpeg pictures in buffers, so it should
reject buffers without caps.
2010-05-07 11:07:34 -03:00
Thiago Santos
72fdd708cf jifmux: Be safe and check bytewriter returns
Check GstByteWriter returns to know when recombining the image
failed and log a warning.
2010-05-07 10:59:22 -03:00
Thiago Santos
0d637e4f09 jifmux: Avoid adding 2 xmp packets
jifmux was only appending a new xmp packet to the stream,
it should replace if there is already one.
2010-05-07 10:13:54 -03:00
Sebastian Dröge
860d5e7efe capssetter: Some minor cleanup 2010-05-06 13:12:32 +02:00
Sebastian Dröge
1f6688b1a1 imagefreeze: Set fixed caps on the correct pad
This makes the sink getcaps function actually used instead of using
the fixed caps function for it.
2010-05-05 12:25:08 +02:00
Mark Nauwelaerts
d68a4c1dcc jpegparse: improve buffer scanning
Specifically, when scanning for entropy data segment length and needing
more data, do not rescan from start next time around, but resume at
last position.

See also #583047.
2010-04-30 19:53:57 +02:00
Руслан Ижбулатов
5f25780b02 Fix printf format strings for gcc 4.5
Done on Windows/MinGW.

Fixes #617146
2010-04-29 10:17:56 +02:00
Lasse Laukkanen
30ff3bc098 camerabin: add meaningful names for queue elements inside camerabin 2010-04-21 12:25:39 +03:00
Mark Nauwelaerts
00148e3736 mpeg4videoparse: also set short configuration data in codec_data
That is, header configuration may start at Video Object (startcode),
rather than at Visual Object Sequence, which is catered for and parsed,
so let's also take it as codec_data if no more available.

Fixes (remainder of) #572551.
2010-04-20 15:39:07 +02:00
Thiago Santos
c4aaab2d59 camerabin: Avoid crashing when setting zoom in NULL
Avoid setting zoom in NULL state because the source is not
set yet and this leads to a crash. It is set on READY > PAUSED
anyway.
2010-04-19 19:06:39 -03:00
Arun Raghavan
bf586d7966 mpegvideoparse: Export profile and level in caps
This exports profile and level in caps for MPEG 2 streams.

https://bugzilla.gnome.org/show_bug.cgi?id=616078
2010-04-18 12:50:26 +02:00
Sebastian Dröge
5a51dbd093 mpegdemux: Use GST_FLOW_CUSTOM_SUCCESS instead of some integer
Fixes compiler warning with gcc 4.5.
2010-04-16 19:43:59 +02:00
Sebastian Dröge
2908515bd4 Revert "mpegpsdemux: Workaround new gcc 4.5 compiler warning"
This reverts commit a331228ecc.
2010-04-16 19:42:00 +02:00
Sebastian Dröge
a331228ecc mpegpsdemux: Workaround new gcc 4.5 compiler warning
gcc 4.5 warns when comparing some integer with an enum value, in
the case of GstFlowReturn this is valid though. We should later
add GST_FLOW_CUSTOM_OK1, GST_FLOW_CUSTOM_OK2, etc. after new core
is released.
2010-04-15 21:26:45 +02:00
Sebastian Dröge
1f102af33d cdxaparse: Compare the correct variable to GST_SEEK_TYPE_SET 2010-04-15 20:50:58 +02:00
Adam Endrodi
822fd6a9ff camerabin: reset software zooming if not set by the photo interface
Otherwise both software (videoscal+videocrop) and hardware zooming would be used.
2010-04-15 13:22:16 +03:00
David Schleef
a27500b712 invtelecine: Fix up element details 2010-04-14 16:43:23 -07:00
Thiago Santos
c48de5c594 camerabin: Add video-capture-width/height/framerate properties
Adds video-capture-width, video-capture-height and
video-capture-framerate properties to allow applications to
get/set those values. Getting was not possible before this patch,
and setting was done through the set-video-resolution-fps
action, which sets the properties and promptly resets the
video source to use them.

Fixes #614958
2010-04-13 20:37:03 -03:00
Thiago Santos
fa6adc85b4 camerabin: Adds image-capture-width/height properties
Adds image-capture-width and image-capture-height properties
to camerabin, allowing the user to get/set them. Getting was
not possible before and setting was done through the
set-image-resolution action, which shouldn't now just set
the properties.

Fixes #614958
2010-04-13 20:36:44 -03:00
Thiago Santos
a72774c5f8 camerabin: photography: Spring G_PARAM_STATIC_STRINGS
Sprinkle some G_PARAM_STATIC_STRINGS over the properties
in GstPhotography interface and in camerabin
2010-04-13 15:59:04 -03:00
Lasse Laukkanen
55d98ef488 camerabin: add block-after-capture property for viewfinder blocking
Adds block-after-capture property to block running viewfinder after capturing.
This property is useful if application wants to display capture preview and avoid
running viewfinder on background.

Based on a patch by Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>
2010-04-13 12:00:36 -03:00
Tommi Myöhänen
6206f58c3a GstPhotography: Add flicker and focus mode settings to photography API
Adds flicker and focus mode settings to photography API and also
implement it in camerabin.
2010-04-13 12:00:35 -03:00
Teemu Katajisto
ae57a90fe2 camerabin: do not set imagebin sinkpad twice
If we already have a sinkpad, do not get a new one
2010-04-13 12:00:34 -03:00
Lasse Laukkanen
16cff06a70 camerabin: add viewfinder-filter property
Adds a new property called viewfinder-filter to camerabin.
This property is used to add a filter to process the video
flow right before the viewfinder sink.

Also updates test to check property exists.
2010-04-13 12:00:33 -03:00
Lasse Laukkanen
2c4417dabc camerabin: proxy video source photography interface property notify signals
If photography interface properties change in video source, notify the
application by emitting notify for respective camerabin properties.
2010-04-13 12:00:32 -03:00
Lasse Laukkanen
2c05df08b2 camerabin: add api to query supported image capture resolution
Adds new property 'image-capture-supported-caps' to GstPhotography
to query the supported image capture caps.
Also implement it in camerabin.
2010-04-13 12:00:31 -03:00
René Stadler
e2438e6cf1 camerabin: rename function and variable names, update documentation
Get rid of user_* prefix internally, use app_* instead.
2010-04-13 12:00:31 -03:00
Lasse Laukkanen
d25a9ca8aa camerabin: add video-source-filter property
Add video-source-filter property that can be used to inject application
specific gstreamer element to camerabin pipeline. The video-source-filter
element will process all frames coming from video source.

One could add image analyzers to collect information about the stream,
or add image enhancers to improve capture quality, for example.
2010-04-13 12:00:30 -03:00
Lasse Laukkanen
1c74f22264 camerabin: don't try adapting image capture resolution if no source-resize flag
If source-resize flag is disabled then set resolution to image capture caps
according to capture resolution video source element produces. Otherwise we
write wrong resolution to image metadata.
2010-04-12 16:10:49 +03:00
Lasse Laukkanen
d7a0f1f997 camerabin: Fix capturing flag handling after image has been captured
Make sure capturing flag is unset and image-captured message is sent
before sending eos event to image bin and saving the image to a file.
2010-04-12 16:07:36 +03:00
Lasse Laukkanen
c6f6f1b595 camerabin: fix setting filter-caps property in NULL state
Split _set_capsfilter_caps() into two parts so that we can call one part
regardless of the element state.
2010-04-12 16:06:07 +03:00
Lasse Laukkanen
1b10553f90 camerabin: improve image done signal emission
Use g_idle_add_full() with G_PRIORITY_HIGH to emit image done signal,
g_idle_add() is more likely to starve with higher priority events.
2010-04-12 15:15:22 +03:00
Tim-Philipp Müller
a81a158f17 invtelecine: fix print format in debug message 2010-04-08 01:42:23 +01:00
Arun Raghavan
90753ceb5e baseparse: Don't emit bitrate tags too early
We wait to parse a minimum number of frames (10, arbitrarily) before
emiting bitrate tags so that our early estimates are not wildly
inaccurate for streams that start with a silence. If the stream ends
before that, we just emit the tags anyway.

While it _would_ be nicer to be specify the threshold to start pushing
the tags in terms of duration, this would introduce more complexity than
this merits.

https://bugzilla.gnome.org/show_bug.cgi?id=614991
2010-04-07 11:51:46 +02:00
Sebastian Dröge
1306160b79 mpegtsdemux: Add support for BlueRay style DTS
Fixes bug #614259.
2010-04-05 10:33:26 +02:00
Sebastian Dröge
074d20cf99 mpegtsdemux: Add support for the two DTS HD stream types
Fixes bug #614259.
2010-04-04 20:23:00 +02:00
Sebastian Pölsterl
d7ab75abb8 mpegtspacketizer: Additionally use the CRC to check if tables are duplicates
The current code just uses table id, subtable extension and version number to
check if the section has been seen before. However, this comparison is not
sufficient, causing actually new tables being dismissed.

Fixes bug #614479.
2010-04-02 19:52:25 +02:00
Sebastian Dröge
c55b24b43d h264parse: Correctly clean up internal state for reuse
Fixes bug #614591.
2010-04-02 19:48:56 +02:00
Sebastian Dröge
129042b65c mpegtsparse: Make sure that the buffer metadata is writable before setting caps
Fixes bug #614349.
2010-04-02 19:19:23 +02:00
Tim-Philipp Müller
840e1c5209 build: build plugins and examples in parallel where possible, if make -jN is used 2010-03-30 01:17:15 +01:00
Tim-Philipp Müller
4162f0d58e qtmux: use GStreamer package name and origin in the plugin info 2010-03-30 00:46:51 +01:00
Mark Nauwelaerts
7d2e248155 h264parse: fix writing NALU prefix for byte-stream output format
Specifically, input may already be in byte-stream format, so sync
bytes should not be misinterpreted as NALU size.
2010-03-29 14:49:06 +02:00
Sebastian Dröge
09223cc719 flacparse: Optionally check the overall frame checksums too before accepting a frame as valid
This is optional because it's a quite expensive operation and it's very
unlikely that a non-frame is detected as frame after the header CRC check
and checking all bits for valid values. The overall frame checksums are
mainly useful to detect inconsistencies in the encoded payload.
2010-03-26 18:58:35 +01:00
Sebastian Dröge
9fa738d36b flacparse: Check the CRC-8 of the headers before accepting a frame as valid
This makes false-positives during seeking much less likely and detection of
them much faster.
2010-03-26 18:42:28 +01:00
Sebastian Dröge
6663e7c1ca baseparse: Set the last stop to the buffer starttime if the duration is invalid
...instead of not setting it at all.
2010-03-26 18:20:24 +01:00
Joshua M. Doe
af00e59528 baseparse: Send NEWSEGMENT event with correct start and position
Instead of taking the last stop (which could be buffer endtime instead
of starttime) always take the buffer starttime.

Fixes bug #614016.
2010-03-26 18:19:00 +01:00
Arun Raghavan
cc6c4ef00b flacparse: Fix buffer refcount issue
When called from the GST_FLAC_PARSE_STATE_HEADERS case,
gst_flac_parse_hand_headers() does a gst_buffer_set_caps() on a buffer
with refcount > 1. This change handles this case by making the buffer
metadata_Writable.

https://bugzilla.gnome.org/show_bug.cgi?id=614037
2010-03-26 18:14:22 +01:00
Tim-Philipp Müller
eb34b2015b mpegtsdemux: add missing space to debug message 2010-03-26 12:04:48 +00:00
Stefan Kost
16f532b71a dtmfdetect: if we tell that we handle gap flags, then do so 2010-03-25 23:01:42 +02:00
Stefan Kost
88b223d36b dtmfdetect: use glib types 2010-03-25 23:01:05 +02:00
Stefan Kost
de4a6adf80 dtmfdetect: fix classification 2010-03-25 23:01:05 +02:00
Stefan Kost
4f526f8aef dtmfdetect: reformat message docs
Use a list like in other element docs as an untweaked docbook table look ugly.
2010-03-25 23:00:00 +02:00
Tim-Philipp Müller
d6f3ee4b90 audioparsers: remove unused GstBaseParseClassPrivate structure 2010-03-25 17:13:51 +00:00
Arun Raghavan
76f5d96e06 flacparse: Make bitrate estimation more accurate
This implements the get_frame_overhead() vfunc so that baseparse can
make more accurate bitrate estimates.
2010-03-25 16:57:55 +01:00
Arun Raghavan
599401a7f9 aacparse: Fix bitrate calculation
This patch adds the get_frame_overhead() vfunc so that baseparse can
accurately calculate the min/avg/max bitrates for aacparse.

Note: The bitrate was being incorrectly calculated for ADTS streams
(it's not in the header as the code suggests).
2010-03-25 16:57:48 +01:00
Arun Raghavan
88c1e42567 audioparsers: Add bitrate calculation to baseparse
This makes baseparse keep a running average of the stream bitrate, as
well as the minimum and maximum bitrates. Subclasses can override a
vfunc to make sure that per-frame overhead from the container is not
accounted for in the bitrate calculation.

We take care not to override the bitrate, minimum-bitrate, and
maximum-bitrate tags if they have been posted upstream. We also
rate-limit the emission of bitrate so that it is only triggered by a
change of >10 kbps.
2010-03-25 16:57:36 +01:00
Tim-Philipp Müller
0c97f9a9be qtmux: init debug category before using it 2010-03-25 00:20:54 +00:00
Stefan Kost
4a87fee780 jpegformat: add blank line to fix generated xml 2010-03-24 16:25:43 +02:00
Tristan Matthews
552cd26b43 osx: more compiler warning fixes
Avoid new warnings.

Fixes #613758.
2010-03-24 00:19:02 +00:00
Benjamin Otte
a9a7b8e372 Fixes for -Waggregate-return
The flag wasn't added due to libexif using aggregate return values.
2010-03-23 01:16:25 +01:00
Stefan Kost
5ebf6444cb i18n: build fixes: #if -> #ifdef for ENABLE_NLS 2010-03-22 18:07:45 +02:00
Benjamin Otte
240f494aa7 Add -Wold-style-definition
and fix the warnings
2010-03-22 16:56:03 +01:00
Benjamin Otte
647cf64c01 Add -Wformat-nonliteral -Wformat-security flags
and fix the warnings
2010-03-22 16:22:22 +01:00
Arun Raghavan
8144fee47c mpegvideoparse: Parse bitrate and emit as tag
This patch picks up the bitrate for the stream from the MPEG sequence
header and emits it as a tag on the source pad.

Fixes #599298.
2010-03-22 12:44:54 +00:00
Benjamin Otte
33c2f5fb01 Add -Wwrite-strings
and fix its warnings
2010-03-22 13:16:33 +01:00
Benjamin Otte
010789159d Add -Wundef
and fix the warnings
2010-03-22 12:30:01 +01:00
Benjamin Otte
b7655bbd2e Add -Wredundant-decls flag
and fix warnings from it
2010-03-22 12:05:59 +01:00
Benjamin Otte
f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Benjamin Otte
46f4c7a6c1 siren: Run gst-indent script
Includes running dos2unix on decoder.c
2010-03-21 21:37:37 +01:00
Benjamin Otte
27b3e53d5d legacyresample: remove unused file 2010-03-21 18:59:30 +01:00
Wim Taymans
e30f38531c sdpdemux: disable loop and auto multicast join
Disable loopback of packets.
Disable autojoin of multicast groups in the sink because the source already
does that on the shared socket.
2010-03-19 11:13:30 +01:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Benjamin Otte
5258d372be virtualdub: Remove
THe plugin is so hopelessly outdated, it's just not worth keeping.
2010-03-18 22:46:41 +01:00
Tim-Philipp Müller
cadb0526d5 mpegtsdemux: fix minor memory leak in property getter
Don't leak the string returned by g_strjoinv(). While we're at it,
use GString to assemble the string to be returned.
2010-03-15 19:21:52 +00:00
Sebastian Dröge
5fe85915be imagefreeze: Only start the task after a seek if a buffer was received already 2010-03-15 11:54:33 +01:00
Tim-Philipp Müller
e0175a40a2 asfmux: fix typo in property description 2010-03-13 18:55:22 +00:00
Raimo Järvi
46abe733c6 mpegvideoparse: Update caps when the sequence header changes
Fixes bug #612687.
2010-03-13 06:03:32 +01:00
Mark Nauwelaerts
6631f50d59 camerabin: activate video bin before feeding data to it
Fixes #612615.
2010-03-12 19:30:48 +01:00
Thiago Santos
ca30c1d915 qtmux: Use xmp on mp4mux and gppmux too
Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux
2010-03-12 11:50:48 -03:00
Edward Hervey
69a40a1591 jpegparse: Fix unitialized variable on macosx 10.5 2010-03-12 09:52:57 +01:00
Stefan Kost
3b78cc5eca jpegformat: add xmp reading and writing support
Bump needed base version for new xmp helper library. Use xmp helpers in
jpegparse and jifmux.
2010-03-12 10:35:15 +02:00
Sebastian Dröge
7efecfc961 segmentclip: Add audio/video buffer segment clip elements
These elements clip the audio/video buffers to the configured segment
for the case when the upstream elements don't do this correctly.
2010-03-12 07:29:58 +00:00
Sebastian Dröge
93c938835c imagefreeze: Set undefined framerate in sink getcaps function 2010-03-12 07:29:57 +00:00
Sebastian Dröge
0c170d9107 imagefreeze: Implement reverse playback and set buffer offsets 2010-03-12 07:29:57 +00:00
Sebastian Dröge
b0590069ec imagefreeze: Add still frame stream generator element 2010-03-12 07:29:57 +00:00
Thiago Santos
5e88363430 qtmux: add xmp support
Adds xmp metatags adding to qtmux.

Fixes #609539
2010-03-11 16:42:31 -03:00
Tim-Philipp Müller
af5565a62b qtmux: fix GST_ELEMENT_ERROR usage
We need to pass (NULL) rather than NULL for empty arguments.
2010-03-11 17:21:52 +00:00
Edward Hervey
5050967766 jpegformat: Fix unitialized variables 2010-03-11 17:58:25 +01:00
Rob Clark
c3156f0663 fix compile error with trace macro
Note that this one isn't a problem with normal trace macros, but causes problems with
some replacement trace macros that I use, which expect the format string to be
appendable (ie "foo "fmt in the macro)

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:03 +01:00
Rob Clark
79faa0b9fa mpeg4videoparse: fix compile error
gst/mpeg4videoparse/mpeg4videoparse.c:689: warning: comparison is always true due to limited range of data type

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:01 +01:00
Rob Clark
71d0e513fa qtmux: fix compile error
gst/qtmux/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:00 +01:00
Stefan Kost
da3a8fe0fc invtelecine: inlcude stdlib.h for abs() 2010-03-11 11:14:53 +02:00
Lasse Laukkanen
190d54b096 camerabin: refactor cropping and adapting captured images 2010-03-11 10:36:27 +02:00
Teemu Katajisto
341d91520a camerabin: fix NULL -> READY state change failure handling.
In some error situations the NULL -> READY state change failed
and camerabin elements were not destroyed.
2010-03-11 10:36:26 +02:00
Lasse Laukkanen
58bf3be730 camerabin: don't use gst_bus_poll() when creating preview image
Avoid using gst_bus_poll() as the docs recommend. Use
gst_bus_timed_pop_filtered() instead.
2010-03-11 10:36:26 +02:00
Víctor Manuel Jáquez Leal
f968ae6e72 inputselector: fix the LDFLAGS 2010-03-09 21:58:52 +00:00
Sebastian Dröge
31f4ac7b30 frei0r: Sync properties to the controller if one was set 2010-03-09 21:05:50 +00:00
Sebastian Dröge
125efbffcc frei0r: Protect set/get property and processing functions from concurrent access
The frei0r documentation says that these functions must not be called
on the same instance from different threads at the same time. All
other functions are guaranteed to be threadsafe.
2010-03-09 21:05:50 +00:00
David Schleef
e98fc783c8 invtelecine: Add invtelecine element
Automatic inverse telecine element.  Right now, it clumsily attempts
to rearrange video fields into frames that don't have combing effects,
and only works with 60i/24p content at 720x480.  Later, it will handle
other pulldown variations, change caps and smooth timestamps
appropriately.
2010-03-09 12:34:36 -08:00
Benjamin Otte
87dbb0ab9d wmnc: Update description 2010-03-09 19:16:30 +01:00
Benjamin Otte
2bc4626f73 nuvdemux: Update plugin description 2010-03-09 19:16:30 +01:00
Benjamin Otte
1982ca6e51 nsf: Name the plugin nsf, not nsfdec
The plugin in gstnsf.so should be named nsf, not nsfdec.
2010-03-09 19:16:30 +01:00
Thiago Santos
4a629eea25 qtmux: Rename 'avc-sample' to 'avc' in caps
Fixes #606662
2010-03-01 17:59:13 -03:00
Thiago Santos
55e2adda37 h264parse: Replace 'avc-sample' with 'avc' in caps
Fixes #606662
2010-03-01 17:59:10 -03:00
Michael Smith
bcdb7d4851 qtmux: Take lock around use of (non-threadsafe) tagsetter interface. 2010-02-26 11:50:25 -08:00
Thiago Santos
0922dbc22e qtmux: write all udta children atoms
UDTA might have META and other children atoms
together, write them all.
2010-02-22 16:51:00 -03:00
Thiago Santos
ca136fe76b qtmux: Use internal sink pads list
Due to GstCollectPads sink pads list being not reliably
iteratable (when not inside the collected function) this
patch adds a sink pads list to qtmux to be used when iterating
sink pads on reset function.

Fixes #609055
2010-02-22 10:50:49 -03:00
Tim-Philipp Müller
7c890c0b91 fpsdisplaysink: fix NULL ref and error handling if no video sink is found
If no video sink is set and autovideosink is not available for some
reason, post a proper error message on the bus when failing to
change state, and don't try to gst_object_ref() NULL pointers. Fixes
generic/states unit test when distchecking.
2010-02-19 10:35:10 +00:00
Stefan Kost
caf2be2115 jpegparse: return offset+length from _get_image_length().
_find_end_marker() find the position of the marker. EOI has a fixed length of 2
bytes that where missing. Fixes #608998
2010-02-17 13:12:00 +02:00
Tim-Philipp Müller
3e45e6ba9f jpegparse: fix invalid memory access
See bug #608998.
2010-02-17 01:32:12 +00:00
Mark Nauwelaerts
1da893ba68 qtmux: prevent leaking hdlr name 2010-02-16 17:13:09 +01:00
Mark Nauwelaerts
eed915a6fb qtmux: support for ALAC
Fixes #580731.
2010-02-16 16:26:48 +01:00
Mark Nauwelaerts
fdfdda8f09 qtmux: refactor building stsd entry 'wave' extension 2010-02-16 16:26:45 +01:00
Edward Hervey
31d3ec392f hdvparse: Fix field error.
Spotted by Burkhard Plaum
2010-02-15 09:36:35 +01:00
Sebastian Dröge
f79842e308 Moved 'shapewipe' from -bad to -good
Fixes bug #584536.
2010-02-12 11:35:17 +01:00
Sebastian Dröge
88af663e86 shapewipe: Preserve the input color values in all cases 2010-02-10 10:52:53 +01:00
Sebastian Dröge
dc551ed30f shapewipe: Scale mask alpha values by the source alpha values 2010-02-10 10:50:49 +01:00
Sebastian Dröge
6ef01b3c59 shapewipe: Fix ARGB processing 2010-02-10 10:42:32 +01:00
Sebastian Dröge
e1c1a6c874 mpegtsdemux: Never flush more bytes than available
This could happen if the input doesn't contain any MPEG TS
data and the complete adapter content should be skipped.
2010-02-09 15:24:28 +01:00
Thiago Santos
bcbdd12fb3 qtmux: atomsrecovery: Fix compilation problem
Fixes a compilation error due to unused function result.
2010-02-08 11:51:52 -03:00
Sebastian Dröge
ad7eff41a8 shapewipe: Improve/add debug output 2010-02-08 08:26:33 +01:00
Sebastian Dröge
364c53fd61 shapewipe: Always hold the mask mutex before signalling the GCond 2010-02-08 08:20:44 +01:00
Sebastian Dröge
d875dce9bb shapewipe: Move chain function error cases at the end of the function and add useful debug output 2010-02-08 08:19:48 +01:00
Sebastian Dröge
8d213d51f6 shapewipe: Fix race condition during shutdown that can lead to a deadlock 2010-02-08 08:12:11 +01:00
Sebastian Dröge
2d1f06103a shapewipe: Drop mask buffer on FLUSH events 2010-02-08 08:11:33 +01:00
Sebastian Dröge
6df5795651 shapewipe: Update copyright year 2010-02-08 08:09:55 +01:00
Sebastian Dröge
87216b83b9 shapewipe: Don't reset properties when going PAUSED->READY
Also use defines for the default values of the properties.
2010-02-08 08:08:44 +01:00
Tim-Philipp Müller
a60d54c4e2 jpegparse: lower rank to NONE so it is not autoplugged for decoding
This element is too new and too untested to have it autoplugged.
2010-02-07 10:19:06 +01:00
Julien Moutte
d8117471f6 mpegtsmux: Fix a potential unref of a NULL pointer.
At first iteration we don't have any cached SPS/PPS buffer to free.
2010-02-04 19:45:42 +01:00
Marc-André Lureau
4d3a965476 mpegtsmux: add PAT/PMT in streamheader
The check for PAT/PMT buffers was suggested by
Zaheer Abbas Merali.

https://bugzilla.gnome.org/show_bug.cgi?id=608896
2010-02-03 18:26:15 +00:00
Marc-André Lureau
1537023905 mpegtsmux: add pat-interval and pmt-interval properties
https://bugzilla.gnome.org/show_bug.cgi?id=608896
2010-02-03 18:26:12 +00:00
Marc-André Lureau
130cf80752 mpegtsmux: fix PAT/PMT insertion frequency
The current code is comparing timestamps with different clock.
Let's use only the clock for PTS values.

Also rename frequency to interval, to avoid confusion. And remove
documentation about value 0, which won't work like documented.

https://bugzilla.gnome.org/show_bug.cgi?id=608896
2010-02-03 18:26:09 +00:00
Marc-André Lureau
6d554a5560 mpegtsmux: marking non-delta unit, including pre-sections
This patch address the issue observed with KF timestamps
and delta flag. When a section is appended before the keyframe,
it is not marked as non-delta. It's preferable to mark the
first buffer non-delta.

This patch also simplify the initial patch written by thomas,
since it does not clutter tsmux/ with a delta flag passed
around only for GStreamer convenience.

https://bugzilla.gnome.org/show_bug.cgi?id=604908
2010-02-03 16:37:27 +00:00
Stefan Kost
6c6ea0b79b jpegformat: add a basic jifmuxer
The new element can chop and reassemble the markers. I implements the tagsetter
and for now can serialize some tags to jpeg comments.
2010-02-03 15:13:30 +02:00
Thiago Santos
e1c1405396 qtmux: Adds moov recovery feature
Adds a new property to qtmux that sets a path to a file to write
and update data about the moov atom (that is not writen till the
end of the file). If the pipeline/app crashes during execution it
might be possible to recover the movie using the qtmoovrecover element.

qtmoovrecover is an element that is also a pipeline. It is not
meant to be used with other elements (it has no pads). It is merely
a tool/utilitary to recover unfinished qtmux files.

Fixes #601576
2010-02-02 14:03:38 -03:00
Stefan Kost
b9f8f5d281 jpegparse: improve parsing
Handle more app maker. Print app marker names to debug log. Remember last_marker
when parsing to avoid reparsing from the very begin.
2010-02-02 17:19:31 +02:00
Julien Moutte
6f1ee59df6 mpegtsmux: generate SPS/PPS header once and fix overflow
Some H264 packets can be as small as 5 bytes for repeated frames.
In such a situation the output buffer size was not big enough (5*2) to fit the
SPS/PPS header and the start codes. This corrupts the ES stream.
We now generate the SPS/PPS only once which is much more optimal and we now
know the size of the header to calculate the output buffer size more safely.
2010-02-02 12:23:24 +01:00
Michael Smith
80b3d80a58 qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
buffer that we then won't use at all.
2010-02-01 16:24:39 -08:00
Michael Smith
4b28a46bc7 qtmux: handle muxing adpcm correctly. 2010-02-01 16:23:48 -08:00
Michael Smith
e1fe7f357f qtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it
since it's not null-terminated. Improves compatibility with some hardware
players.
2010-02-01 16:23:47 -08:00
Michael Smith
5753f8a3aa qtmux: endianness in gstreamer is an int, not boolean. 2010-02-01 16:23:47 -08:00
Michael Smith
c2b1bebc02 mpeg4videoparse: parse more forms of codec_data 2010-02-01 16:23:47 -08:00
Stefan Kost
f3122f2b30 jpegparse: provide a getcaps function for src pad and improve setcaps
Previously jpegparse was failing in decodebin as the caps we were setting where not
setting all caps fields. We need the own getcaps function to report what we actualy
accept.
2010-02-01 17:46:29 +02:00
Stefan Kost
ab7e974dab jpegparse: extract comment and post as metadata 2010-02-01 17:16:16 +02:00
Stefan Kost
e1dd998bd0 jpegformat: code cleanups
Move the jpeg marker defines to a header (to be used for jifmux). Rewrite some
comments. Use gst_element_class_set_details_simple(). Add more logging.
2010-02-01 17:15:38 +02:00
Stefan Kost
8bd0f42017 jpegformat: move plugin part to speparate file, so that we can add the jifmux 2010-01-29 12:25:08 +02:00
Arnout Vandecappelle
bb5331e272 jpegparse: new jpeg parser element. FIxes #583098
Parse JPEG images, extracts its metadata, set caps and
packetize an image per buffer.
2010-01-29 11:41:15 +02:00
Stefan Kost
b0533bfdff camerabin: don't log NULL caps, also downgrade to DEBUG as it is very verbose
This debug log entry was also not ment to be used in the failure case.
2010-01-28 14:57:50 +02:00
Tim-Philipp Müller
2cc409861c dataurisrc: add start function so we can error out properly if no uri is set
Also save a set URI after it has been parsed successfully, so that _get_uri()
actually works.
2010-01-28 00:08:16 +00:00
Tim-Philipp Müller
766c52766e dataurisrc: don't post error message when setting the URI failed
There's a gboolean return for that, and the messages don't really
add anything useful.
2010-01-28 00:08:16 +00:00
Tim-Philipp Müller
61c6c38bd0 dataurisrc: must release the object lock before using GST_ELEMENT_ERROR 2010-01-28 00:08:16 +00:00
Mark Nauwelaerts
a42e890470 qtmux: streamline moov data memory storage
In particular, use arrays rather than (double) linked lists.
2010-01-27 12:56:18 +01:00
Mark Nauwelaerts
87eb6333da audioparsers: rename baseparse GType name to avoid possible conflicts 2010-01-27 12:45:57 +01:00
Mark Nauwelaerts
df4c4cc703 h264parse: use correct h264_parse prefix in function name 2010-01-27 12:41:57 +01:00
Thiago Santos
f815c46f5b qtmux: g_free is NULL safe 2010-01-26 13:44:04 -03:00
Thiago Santos
2dded0fceb rtpasfpay: Fix packet length semantics
Following the ed4d08189ea6e19a50e029e60da52d3583c39fbb
commit, this one fixes rtpasfpay to use packet length
as the payloaded data length, but also accepting it
as the full packet size for compatibility with
other implementations due to the lack of clarity of the
spec in this part.
2010-01-25 19:32:15 -03:00
Håkon Skjelten
0a90963fcf asfmux: Compatibility with WMSP in WMP
Makes the asfmux content compatible with WMSP and does
some hacks to make it playable in WMP, it doesn't accept
data objects with 0 size indicating that we don't know
its size, though the spec says it should be possible.

Fixes #607555
2010-01-25 19:32:15 -03:00
Stefan Kost
be12317653 camerabin: ref element before removing from the bin to resurrect
This function is not supposed to dispose the element in the case of failure
as the caller is using the elements name in the error message. Also add
some more input parameter checks in the form of g_return_val_if_fail
2010-01-25 23:04:38 +02:00
Sebastian Dröge
c51c3ad21c Revert "inputselector: Protect g_object_notify() with the object's mutex"
This reverts commit 7e067615ff, it's causing
deadlocks with playbin2.
2010-01-25 12:21:34 +01:00
Sebastian Dröge
00e5076b3a dataurisrc: Remove role attribute from links 2010-01-25 12:12:32 +01:00
Sebastian Dröge
828af08490 dataurisrc: Add docs and integrate into build system
Fixes again bug #596885.
2010-01-25 11:56:33 +01:00
Sebastian Dröge
926decbecb dataurisrc: Add data: URI source element
This is slightly based on the WebKit data: URI source
but supports more parts of RFC 2397.

Fixes bug #596885.
2010-01-25 11:15:16 +01:00
Sebastian Dröge
b56436e793 dataurisrc: Add directory for data: URI source 2010-01-25 11:15:16 +01:00
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
Josep Torra
66b1cc9346 speed: fix warnings in macosx snow leopard 2009-10-11 13:13:56 +02:00
Josep Torra
fc0677a5a1 mpegvideoparse: fix warning in macosx snow leopard 2009-10-11 13:07:19 +02:00
Josep Torra
3fedf9e9a5 mpegdemux: fix warnings in macosx snow leopard 2009-10-11 12:56:29 +02:00
Josep Torra
093006d432 dtmf: fix warnings in macosx snow leopard 2009-10-11 11:35:23 +02:00
Josep Torra
dac26cb18f amrparse: fix warnings in macosx snow leopard 2009-10-11 11:27:08 +02:00
Josep Torra
e1a98f3454 aacparse: fix warnings in macosx snow leopard 2009-10-11 11:22:11 +02:00
Sebastian Dröge
3b32d37dd4 assrender/dvdspu: Increase ranks to PRIMARY 2009-10-09 13:18:31 +02:00
Sebastian Dröge
f50de89720 dvdspu: Include SubPicture in the classification 2009-10-09 09:21:06 +02:00
Stefan Kost
b7b8b7f407 build: fprintf, sprintf, sscanf need stdio.h 2009-10-07 15:26:12 +03:00
Sebastian Pölsterl
bf3cf014ab mpegtsparse: Ignore emphasis on/off bytes, and do fallback string encoding.
For fallback, try ISO 8859-9 encoding if ISO 6637 failed.
Add more debug calls.
2009-10-06 17:46:36 +01:00
Michael Smith
196acecc04 id3mux: Write UTF-16 byte order marker correctly. 2009-10-05 11:15:41 -07:00
Stefan Kost
2390d3a31c build: add missing stdlib include to fix the build 2009-10-02 19:12:32 +03:00
Alessandro Decina
8917a706da Fix a compiler warning. 2009-10-02 12:07:32 +02:00
Lasse Laukkanen
a0a4032ce8 camerabin: fix deadlock when error occurs at video recording startup 2009-10-01 18:06:55 +03:00
Tommi Myöhänen
0d48f73532 camerabin: handle preview-caps only in image mode and only when they change
This prevents camerabin to create preview pipeline every time when
application re-sets the same caps again.
2009-10-01 18:06:55 +03:00
Tommi Myöhänen
99f1f4510a camerabin: don't send multiple EOS events to video pipeline 2009-10-01 18:06:54 +03:00
Tommi Myöhänen
eb648817a4 camerabin: fix scene mode setting
Camerabin caches photography settings, but it didn't take into account
that scene mode setting may change other settings as well. So, config
needs to be read back from device after scene mode is set.
2009-10-01 18:06:54 +03:00
Tommi Myöhänen
dc267be4f7 camerabin: allow mode parameter setting in NULL state 2009-10-01 18:06:54 +03:00
Tommi Myöhänen
dacdd5d6c9 camerabin: allow capture resolution to be set in NULL state 2009-10-01 18:06:54 +03:00
Tommi Myöhänen
0f2be803b4 camerabin: fix image queue parameter setting
Camerabin incorrectly used G_GUINT64_CONSTANT macro for setting
"max-size-buffers" and "max-size-bytes" properties in image queue,
even when they aren't 64bit integers.
2009-10-01 18:06:53 +03:00
Tommi Myöhänen
3f90a4acfa camerabin: fix warning with g_object_get and join separate g_object_sets into one 2009-10-01 18:06:53 +03:00
Tommi Myöhänen
b2fc088c84 camerabin: reset active-pad in output-selector after READY state
Camerabin sets itself to READY state during resolution change. This
operation makes output-selector to forget its currently active pad,
so it must be set again after state change.
2009-10-01 18:06:53 +03:00
Lasse Laukkanen
7b62e11412 camerabin: don't reset capsfilters or zoom if error occurs
If an error occurs, application should set pipeline to NULL, and updating
zoom can actually block message handling if video device driver has failed
and video src element supports zooming using photography interface and S_CROP.
2009-10-01 18:06:53 +03:00
René Stadler
350a805b67 videomeasure: link with libm 2009-10-01 17:40:28 +03:00
Руслан Ижбулатов
05e059c624 Take offset gaps into account.
Prevents measurecollector from crashing when frame numbers are not consecutive.

Fixes bug #596285.
2009-09-30 18:51:55 +02:00
Marc-André Lureau
1adfafbe2c qtmux: fix flags_as_uint to flags[] 2009-09-30 16:53:20 +02:00
Jan Schmidt
25837289c4 dvdspu: Improve PGS parsing
Improve (slightly) the interpretation of PGS set-window blocks
to avoid printing warnings about unused bytes when there are multiple
window definitions.
2009-09-28 10:32:02 +01:00
Jan Schmidt
f248986ba4 dvdspu: Fix rendering and add guards
Fix the rendering when we hit the right hand side of the display
area, by resetting to the correct X coordinate, and add some more
guards against bad PGS data.
2009-09-28 10:32:02 +01:00
René Stadler
c45cc31c7d videosignal: change pattern data type to uint64, add property and message field
Keeps the old uint typed value support for compatibility.
2009-09-26 19:11:09 +03:00
René Stadler
b24d581c78 videosignal: allow pattern-count property to be 0 2009-09-26 19:11:09 +03:00
René Stadler
36ae3ad844 videosignal: add support for packed YUV formats 2009-09-26 19:11:09 +03:00
René Stadler
d171d713f3 videosignal: add support for all planar YUV formats, using gstvideo 2009-09-26 19:11:09 +03:00
René Stadler
5b87b537be videosignal: add bound checks 2009-09-26 19:11:09 +03:00
René Stadler
53defab4b2 videosignal: remove unused macros 2009-09-26 19:11:09 +03:00
Mark Nauwelaerts
c36e5950ba baseparse: sync baseparse change 2009-09-25 17:04:02 +02:00
Mark Nauwelaerts
6c9a9d3304 aacparse: forego (bogus) parsing of already parsed (raw) input 2009-09-25 17:04:00 +02:00
Sebastian Dröge
338f58e573 inputselector: Use new single iterator for the internally linked pads
This fixes a deadlock and removes some useless code.
2009-09-25 11:08:02 +02:00
Alessandro Decina
a17393fd34 Fix warnings with gcc 4.0.1. 2009-09-23 12:34:47 +02:00
Lutz Mueller
a744f8136b pnm: Handle ASCII encoded PNM data that is split over multiple buffers
Also:
- unref buffers after gst_buffer_span
- fix scanning of header if header data is split over several buffers

Fixes bug #595700.
2009-09-22 08:13:08 +02:00
Edward Hervey
4ceb3c5678 mpegtsparse: Specify that psi table is static const.
This avoids re-allocating it every single time we go into it.
Roughly 10% performance boost in overall tsparse processing time.
2009-09-21 12:13:03 +02:00
Zaheer Abbas Merali
bf34bdd3ab Revert "mpegtsparse: use fixed size array rather than dynamically allocating"
This reverts commit ae75b6f366.
2009-09-20 17:53:24 +01:00
Zaheer Abbas Merali
ae75b6f366 mpegtsparse: use fixed size array rather than dynamically allocating 2009-09-20 15:32:14 +01:00
Zaheer Abbas Merali
f9c4b3cce9 mpegtsparse: replace streams hashtable with an array of streams 2009-09-20 15:23:44 +01:00
Zaheer Abbas Merali
309eaafb04 mpegtsparse: unref caps on dispose, reset packet size on _reset 2009-09-20 14:12:59 +01:00
Zaheer Abbas Merali
ec100c87c7 mpegtsparse: make sure packetsize is set on caps of buffers 2009-09-20 13:25:53 +01:00
Zaheer Abbas Merali
bdf11016fa mpegtsparse: detect packetsize and don't just assume 188 bytes. 2009-09-20 13:25:34 +01:00
Edward Hervey
314e2dabd5 mpegtsparse: Don't use GstIterator, do change detection ourselves.
Using a GstIterator is slow because we have to create/destroy that
iterator every single time.
We just do the threadsafe cookie check and list iteration ourselves.
2009-09-19 12:49:47 +02:00
Edward Hervey
c224da54e4 mpegtsparse: Avoid type-checking casts in tight loops 2009-09-19 12:45:39 +02:00
Edward Hervey
8b981fba5c mpegtspacketizer: Make next_packet() return an enum.
This avoids calling an extra gst_adapter_available() in a tight loop.
2009-09-19 12:45:39 +02:00
Edward Hervey
bdc513b31e mpegtsparse: More branch prediction macros 2009-09-19 12:45:39 +02:00
Edward Hervey
879e00b969 mpegtspacketizer: Spread branch prediction macros 2009-09-19 12:45:39 +02:00
Edward Hervey
fcc4f8388c mpegtsparse/mpegtspacketizer: Register and use GQuark for structures. 2009-09-19 12:41:34 +02:00
Edward Hervey
d88af539f9 mpegtspacketizer: Initialize debugging in _get_type
There's no need for an extra function since all debuggin will require
a MpegTSPacketizer which means that the GType will be created, therefore
move the debug category initialization there.
2009-09-19 12:41:27 +02:00
Edward Hervey
56b71d6a48 mpegtspacketizer: memset structure instead of individually setting fields to 0 2009-09-19 12:32:21 +02:00
Edward Hervey
69aab98702 mpegtspacketizer: Remove g_return_if_fail
It's overkill for code only used by one element.
2009-09-19 12:32:17 +02:00
Edward Hervey
0ac7e16066 mpegtspacketizer/parse: Don't use gst_structure_to_string() for debugging.
There's GST_PTR_FORMAT for that, and too bad for the systems that don't have
support for that. It just costs too much cpu.
2009-09-19 12:32:10 +02:00
Edward Hervey
0daedae52f gst: Remove dead mpegtsparse directory.
This was seriously confusing. Also, the code is in gst/mpegdemux/
2009-09-19 12:31:52 +02:00
David Schleef
8c856cfb5a videomeasure: fix line endings 2009-09-18 19:11:19 -07:00
David Schleef
923a7e5256 videomeasure: fix distcheck 2009-09-18 19:11:19 -07:00
David Schleef
2506c3567c mpegtsdemux: Set DISCONT on buffers 2009-09-17 17:03:40 -07:00
Lutz Mueller
a4e438d193 pnm: Add ASCII decoding support
...and make the ASCII output of the encoder a bit more pretty.

Fixes bug #595409.
2009-09-17 09:39:10 +02:00
Lutz Mueller
f270259cc8 pnm: Support ASCII format for encoding and handle unsupported formats better in the decoder
Fixes bug #595215.
2009-09-16 08:23:37 +02:00
Jan Schmidt
50d08ce732 mpegdemux: Handle base_time when sending segment updates.
Don't send bogus new segment update events when the stream doesn't
start at 0. Fixes broken seeking in some files.

Fixes: #594812
2009-09-15 23:36:24 +01:00
Zaheer Abbas Merali
cb9ff89929 mpegtsdemux, mpegtsparse: max section length is 4093 not 1021. 2009-09-15 14:35:15 +01:00
Zaheer Abbas Merali
712ee57190 mpegtsdemux: add pad for DVB Subtitling pads 2009-09-15 14:35:15 +01:00
Sebastian Dröge
5b5ff07c28 pnm: Use correct rowstride for 8 bit grayscale too 2009-09-13 19:39:59 +02:00
Sebastian Dröge
f09b1adf70 pnm: Correctly convert from/to GStreamer rowstride 2009-09-13 19:33:57 +02:00
Sebastian Dröge
751843ff86 pnm: Fix caps
8 bit grayscale caps have no endianness field and the caps name
of GST_VIDEO_CAPS_RGB is still "video/x-raw-rgb" and not GST_VIDEO_CAPS_RGB.
2009-09-13 19:17:15 +02:00
Lutz Mueller
7f3e6f4965 pnm: Lots of bugfixes
(1) Fix examples.
(2) Add support for gray images.
(3) Remove "use_fixed_caps" which doesn't seem to be useful.
(4) Do proper negotiation in the encoder.
(5) Fix memleak in the setcaps function in the encoder.
(6) Keep a link to the src pad in the encoder now that we need it more often.

Partially fixes bug #164870.
2009-09-13 19:14:49 +02:00
Christian Schaller
1a54ae8ce7 Fix factory information for h264parse, add missing Video 2009-09-12 18:57:05 +01:00
Michael Smith
4066a87156 aiffparse: Fix an off-by-8 bug in parsing the AIFF data size.
This led to overreading by 8 bytes, giving an audible glitch at the end of
a file (except when the file didn't have a trailing chunk of some sort).
2009-09-11 14:40:20 -07:00
Edward Hervey
92ec711733 mpegtsdemux: Use GST_TIME_FORMAT in debug statement. 2009-09-11 15:19:17 +02:00
Edward Hervey
ddcd0e60b1 mpegtsdemux: Reset stream->last_time when flushing.
This fixes naive seeking a tiny bit (by basically hinting at _data_cb
that it shouldn't expect the incoming buffers to be the ones just after
the previous ones).

Without this, seeking by more than 10mins forward would just end up in an
endless loop.
2009-09-11 15:18:58 +02:00
Edward Hervey
7057f285cc mpegtsdemux: Sprinkle branch prediction macros. 2009-09-11 15:16:17 +02:00
Michael Smith
af6ea56cce id3tag: When writing id3v2.3, do not use UTF-8.
UTF-8 is only permitted in v2.4. So instead use ISO-8859-1 for ascii-only
strings, and UTF16 otherwise. Also, do not null terminate strings in text
frames, except where required. These two allow windows media player to play
(and correctly read tags) files created by id3mux.
2009-09-10 12:14:28 -07:00
Michael Smith
29c3542dd5 adpcmdec: complete ima adpcm support. 2009-09-10 12:14:28 -07:00
Michael Smith
e90934dab3 adpcmdec: checkpoint for incomplete IMA ADPCM support. 2009-09-10 12:14:28 -07:00
Sebastian Dröge
2a7ee0716f videomeasure: Fix format strings and include correct i18n header 2009-09-10 12:03:49 +02:00
Sebastian Dröge
bdbd944c52 videomeasure: Fix indention, line endings and use LRN's real name 2009-09-10 12:03:48 +02:00
Руслан Ижбулатов
e9297ba3eb videomeasure: Initial version of videomeasure plugin
This plugin contains elements for calculating metrics of video streams, intended for objective video codec comparison.
At the moment only SSIM metric is implemented (why would you need anything else anyway?).
Also contains a helper videomeasure_collector element that collects measurement events and outputs them into a file (to be used with gst-launch).
Other metrics may be implemented in the future along with a base class for all measurers.

Fixes bug #594321.
2009-09-10 12:03:32 +02:00
Sebastian Dröge
58a5e422b6 pnmdec: Partially fix negotiation issues and refcount leaks 2009-09-10 08:53:46 +02:00
Sebastian Dröge
cfb04acde5 pnmenc: Fix negotiation issues and refcount leaks 2009-09-10 08:48:12 +02:00
Sebastian Dröge
77e989f498 pnm: Fix typefinder caps 2009-09-10 08:29:06 +02:00
Lutz Mueller
59b6d933da pnm: Add PNM encoder and decoder elements
Fixes bug #164870.
2009-09-10 08:23:22 +02:00
Havard Graff
f0f80f81d9 outputselector: make GST_FORMAT_TIME the default segment format 2009-09-08 17:53:34 +02:00
Sebastian Dröge
15796d66bb mpegtsdemux: Fix usage of __always_inline__ attribute
This attribute can't be used for function declarations because
it needs the function body. Instead of a forward declaration of
functions, move the function itself above it's first use.

Fixes bug #594489 and compilation with gcc 4.3 and earlier.
2009-09-08 15:20:14 +02:00
Mark Nauwelaerts
5658b2912b mpeg4videoparse: fix aspect-ratio parsing in VO 2009-09-07 19:10:18 +02:00
Mark Nauwelaerts
5b1ed7d42c mpeg4videoparse: also consider user_data pieces when parsing VO(S) 2009-09-07 19:10:02 +02:00
Wim Taymans
6e9904fa8a siren: fix setting caps on the output pad
Also set the caps on the output pad when the input buffers don't have caps.
2009-09-04 17:32:34 +02:00
Josep Torra
7fa795a725 mpegpsdemux: in seeking use a factor for SCR interpolation
Fixes seeking on clips where PTS are unalignded with SCR.
2009-09-04 12:56:03 +02:00
Wim Taymans
d557572e66 sirendec: rewrite sirendec
Add setcaps and event functions.
Add state change functions to clean variables.
Use adapter.
Add timestamps and duration on outgoing buffers.
Add DISCONT handling.
2009-09-04 12:43:49 +02:00
Wim Taymans
ef999c5df7 sirenenc: cleanups 2009-09-04 12:43:48 +02:00
Josep Torra
b60d71482f mpegtsdemux: set specific caps for lpcm in private stream
In the clips that I've found those streams, the lpcm header is
different than the DVD case.
Then the decoder need to know this in order to be able parse it.
2009-09-04 12:35:31 +02:00
Josep Torra
659e90f8f6 mpegtsdemux: added autodetect of packet size and removed m2ts mode property 2009-09-04 12:30:18 +02:00
Josep Torra
c67dc212bf mpegtsdemux: some more handling of VC1 and EAC3
If the PMT have the register descriptor HDMV assume EAC3
For VC1 make the code more aligned to RP227.
2009-09-04 12:02:18 +02:00
Vincent Penquerc'h
bf4c1f3541 Try to fit subtitles within the video frame when they're too large 2009-09-04 09:13:34 +02:00
Olivier Crête
a333fef08c pcapparse: Set the GStreamer timestamp according to the pcap timestamps 2009-09-03 13:39:36 -04:00
Wim Taymans
00f395e82f sirenenc: fix events and caps
Add an event function that clears the adapter.
Add a setcaps function to configure caps on the srcpad. Remove the instance
variable for the caps.
2009-09-03 19:04:33 +02:00
Wim Taymans
823f06f039 sirenenc: fix timestamping
Handle DISCONT and reset adapter.
code cleanups.
Put timestamps and discont flags on output buffers.
Fix error handling.
Remove bogus object locks, it's all protected by the STREAM_LOCK.
2009-09-03 18:45:31 +02:00
Sebastian Dröge
77fa16cf44 mpegtsdemux: If stream type is AC3 and no EAC3 descriptor is found assume AC3 2009-09-03 15:46:27 +02:00
Josep Torra
1e865242a7 mpegtsdemux: Implement EAC3 handling according some ATSC specs.
Fixes bug #594030.
2009-09-03 15:46:27 +02:00
Tim-Philipp Müller
3bb2efeea0 xdgmime: move xdg typefinder to the other typefinders in -base
Remove the xdgmime plugin which now barely contains any code at all
and move the functionality into gst-plugins-base next to the other
typefinders.
2009-09-03 00:28:16 +01:00
Tim-Philipp Müller
95d894fd96 mpegsmux, mpegpsmux: fix unused variable warning with the debugging system in core disabled 2009-09-02 13:37:47 +01:00
Sebastian Dröge
3f35ef4584 mpegtsdemux: Stream type 0x81 is normal AC3, not EAC3
Not sure what the stream type for EAC3 is though.

Fixes bug #593059.
2009-09-01 12:56:12 +02:00
Tim-Philipp Müller
10d67eda7a GstAdapter is not a GstObject and should be freed with g_object_unref() 2009-08-31 13:14:02 +01:00
Tim-Philipp Müller
d94d572e16 mpegtsmux: use an old-fashioned array instead of GPtrArray for mux->programs
Using GPtrArray for a fixed-sized array is a bit pointless and makes
for ugly code.
2009-08-31 13:00:04 +01:00
Sebastian Dröge
f3e2864f4c mpegpsmux: Add missing files to fix compilation
Fixes bug #593625.
2009-08-31 10:48:35 +02:00
Lin YANG
e453e599af mpegtsmux: Minor fixes 2009-08-31 09:19:23 +02:00
Lin YANG
3ca8288c5b mpegtsmux: mux->programs: use GPrtArray instead of GArray 2009-08-31 09:19:17 +02:00
Lin YANG
5b0b69a858 mpegtsmux: mpegtsmux_collected(): calculate PCR for programs 2009-08-31 09:19:12 +02:00
Lin YANG
b67ed24676 mpegtsmux: mpegtsmux_create_streams(): create multi streams 2009-08-31 09:19:00 +02:00
Lin YANG
451275714c mpegtsmux: MpetTsPadData: add prog_id and ref to its program 2009-08-31 09:18:53 +02:00
Lin YANG
ee31988c7a mpegtsmux: Extend mux->program to a GArray programs 2009-08-31 09:18:48 +02:00
Lin YANG
9f90dfee3e mpegtsmux: Add new property prog-map to the muxer 2009-08-31 09:18:40 +02:00
Sebastian Dröge
baced65049 h264parse: Free the PPS buffers too 2009-08-31 09:15:09 +02:00
Lin YANG
d520e426b0 h264parse: compute timestamp 2009-08-31 09:15:09 +02:00
Lin YANG
9c08ece157 h264parse: recognize more types of NAL
Also recognizes NALs carrying VCL (i.e. visible pictures). We
typically only compute timestamps for such NALs
2009-08-31 09:15:09 +02:00
Lin YANG
550f60111c h264parse: parser init & finalize 2009-08-31 09:15:08 +02:00
Lin YANG
d0273eec2c h264parse: decode slice header 2009-08-31 09:15:08 +02:00
Lin YANG
62ac493c5c h264parse: decode SEI 2009-08-31 09:15:08 +02:00
Lin YANG
dc696c4ffb h264parse: decode SEI: picture timing info 2009-08-31 09:15:08 +02:00
Lin YANG
d061c0a0d1 h264parse: decode SEI: buffering period 2009-08-31 09:15:07 +02:00
Lin YANG
ba5a75d551 h264parse: decode PPS 2009-08-31 09:15:07 +02:00
Lin YANG
2531e5f584 h264parse: decode SPS 2009-08-31 09:15:07 +02:00
Lin YANG
90dfda0f46 h264parse: SPS: decode vui params 2009-08-31 09:15:07 +02:00
Lin YANG
2d50657635 h264parse: SPS: decode hrd params 2009-08-31 09:15:06 +02:00
Lin YANG
e55fb077e6 h264parse: Start slice header parsing work 2009-08-31 09:15:06 +02:00
Lin YANG
e1cfd384d6 h264parse: Start SEI parsing work 2009-08-31 09:15:06 +02:00
Lin YANG
397abd5741 h264parse: Start PPS parsing work 2009-08-31 09:15:05 +02:00
Lin YANG
196b8240e2 h264parse: Start SPS parsing work 2009-08-31 09:15:05 +02:00
Lin Yang
adb4130e65 mpegpsmux: Add MPEG PS muxer 2009-08-31 09:14:32 +02:00
Sebastian Dröge
53128c5b4f mxf: Unconditionally use GLib 2.16 API 2009-08-31 08:14:11 +02:00
Sebastian Dröge
182e751b5d xdgmime: Always use GLib instead of xdgmime
Now that we depend on GLib 2.16 we can as well use it's
internal copy of the xdgmime instead of our own.
2009-08-31 08:14:10 +02:00
Sebastian Dröge
b7534074e2 id3tag: Unconditionally use GLib 2.16 API 2009-08-31 08:14:10 +02:00
Sebastian Dröge
ca55cda9b9 inputselector: Use iterate internal links instead of deprecated get internal links 2009-08-31 08:14:10 +02:00
Руслан Ижбулатов
09b2abf87b resindvd, rawparse: fix LDFLAGS for gst-plugins-base libs
Fixes #593063.
2009-08-25 23:55:41 +01:00
Thiago Santos
c83615fca9 asfmux: Do not mess up GstCollectData list
asfmux was messing up with the GstCollectData list of its
GstCollectPads when sorting the list inplace. This patch makes
it copy the list before sorting it, leaving the GstCollectPads
list as is. Fixes #591610
2009-08-12 19:17:37 -03:00
Olivier Crête
402aad7e87 dtmfsrc: Empty event queue on finalize 2009-08-12 17:08:01 -04:00
Olivier Crête
329b7b9849 dtmf: Use GSlice for internal event structures 2009-08-12 17:08:01 -04:00
Tim-Philipp Müller
a2ea288a02 rtpdtmfsrc: Cleanup events on finalize
Problem found by Laurent Glayal

Fixes bug #591440
2009-08-12 17:08:01 -04:00
Tim-Philipp Müller
0d697e8b58 rtpdtmfsrc: Cleanup events on finalize
Problem found by Laurent Glayal

Fixes bug #591440
2009-08-12 17:08:01 -04:00
Tim-Philipp Müller
a6912096cd Move rtpmanager from -bad to -good. 2009-08-11 09:30:31 +01:00
Tim-Philipp Müller
1691621faf Remove execute flags from source files 2009-08-10 22:16:37 +01:00
Sebastian Dröge
cb1f2f2294 autoconvert: Cache events and send them downstream once an element was selected 2009-08-09 15:20:48 +02:00
Sebastian Dröge
abe33a5526 autoconvert: Small cleanups 2009-08-09 14:55:26 +02:00
Sebastian Dröge
6115e0cb0e mpegtsdemux: Don't answer the SEEKING query if we don't know the answer yet
A bitrate!=-1 is required for seeking but the bitrate is only calculated
after the second PCR was read.

Fixes bug #590446.
2009-08-08 22:14:53 +02:00
Sebastian Dröge
282479b443 videoparse: Only provide very fundamental caps in the pad template
We can't easily know which caps will can be used because we rely on
libgstvideo's support for video formats.
2009-08-08 10:30:11 +02:00
Sebastian Dröge
5c11f80c04 rawparse: Small cleanups and implement SEEKING query 2009-08-08 10:27:52 +02:00
Sebastian Dröge
60a5d37683 audioparse: Small cleanups 2009-08-08 09:08:16 +02:00
Sebastian Dröge
8433f7a9c6 videoparse: Use libgstvideo for everything instead of our own calculations
Also make RGB usage easier by providing xRGB, RGBx, etc. formats
instead of requiring to set red_mask and friends.
2009-08-08 09:08:16 +02:00
Josep Torra
9861908926 mpegtsdemux: fix a memory leak 2009-08-07 19:12:26 +02:00
Josep Torra
1a9b54b781 mpegtsdemux: added VC1, EAC3 and LPCM related to blueray/hdmv 2009-08-07 19:00:23 +02:00
Josep Torra
da95f4a873 mpegpsdemux: added caps for AAC and fixed playback of a clip with LPCM 2009-08-07 18:35:42 +02:00
Josep Torra
3c22fb611b mpegpsdemux: improved demuxer performance
Increased performance doing pull_range in blocks of 32Kb instead of 4Kb.
Caching the value of gst_adapter_available instead of calling it 3 times.
Added some comments with the header descriptions.
Peek enough data to avoid a corner case where could be readed data outside
the buffer.
Speed up some more inlining some functions and keeping another stream pointer
list to be used as iterator.
Sprinkle branch prediction macros accross the code.
Handling the seeking with flush in pull mode in the proper way.
2009-08-07 18:17:28 +02:00
Mark Nauwelaerts
222322e7f3 baseparse: prevent infinite loop when draining 2009-08-07 13:09:24 +02:00
Mark Nauwelaerts
1f2a0d3b3d baseparse: fix minor memory leak 2009-08-07 13:09:20 +02:00
Mark Nauwelaerts
1f9525d821 flacparse: sync baseparse (some more) 2009-08-07 13:09:15 +02:00
ric
15b29bb834 rtpsource: avoid buffer leak on bad seqnum
Fixes #590797
2009-08-06 19:27:20 +02:00
Sebastian Dröge
3f6e84ec61 mpeg[pt]sdemux: Fix SEEKING query
Send the BYTES based query downstream, not the orignal one.
2009-08-05 09:36:00 +02:00
Jan Urbanski
5a596e67da qtmux: Don't require endianness field for 8 bit raw audio
Fixes bug #590360.
2009-08-04 12:58:35 +02:00
Tim-Philipp Müller
2e7b6e44db flacparse: remove internal bitreader and bytereader now that these are in libgstbase 2009-07-31 16:36:54 +01:00
Tommi Myöhänen
b658293925 outputselector: check for pending srcpad in _get_property()
If there is a pending srcpad, return it instead of active srcpad
in gst_output_selector_get_property() function.
2009-07-31 14:07:31 +03:00
Tommi Myöhänen
89788ddc1f camerabin: Set camerasrc to READY state instead of PAUSED when acquiring allowed caps 2009-07-31 14:07:24 +03:00
Thiago Santos
88e399aac2 rtpasfpay: set padding field to 0 on rtp asf packets
The ASF RTP spec demands that packets have their padding removed
and the padding size field set to 0 for packets when puting them
inside the RTP packets
2009-07-31 00:19:19 -03:00
Thiago Santos
7583bf6813 asfmux: Set video stream seekable property to true
Video stream always have indexes, so they are all seekable
2009-07-30 10:33:05 -03:00
Thiago Santos
c271548aab asfmux: Removing useless TODOs
After testing in windows and linux, this audio correction field
made no difference so far. All example files I got only had
zeroes in this field
2009-07-30 10:33:05 -03:00
Thiago Santos
80196e1bb8 asfmux: Fixes video stream properties object
Fixes stream properties object creation for video content
2009-07-30 10:33:04 -03:00
Thiago Santos
d86de48fa1 asfmux: accept pad requests a little longer
asfmux now start rejecting pad requests after it pushes the first
buffer, before this, it was rejecting after going to paused
2009-07-30 10:33:04 -03:00
Thiago Santos
7dd441f8f5 asfmux: adds support to vc-1 streams 2009-07-30 10:33:03 -03:00
Olivier Crête
0672f2d9b2 rtpmux: Remove empty finalize 2009-07-29 17:24:59 -04:00
Thiago Santos
fb624bd416 asfmux: Forcing pad names to be video_%02d and audio_%02d like 2009-07-28 21:37:04 -03:00
Wim Taymans
9232e2278c rtpsource: allow for NULL caps on buffers
Add the NULL caps check where it matters and also cover another case of
potential NULL caps.

Fixes #590030
2009-07-28 18:18:20 +02:00
Olivier Crête
03348629ce rtpsource: Incoming buffers do not always have caps 2009-07-28 18:16:12 +02:00
Tommi Myöhänen
2d9bdb933d camerabin: photo iface setter functions return TRUE when used in NULL state
We cache the values and apply then when possible.
2009-07-28 09:53:22 +03:00
Tommi Myöhänen
01a7532900 camerabin: do not put video pipeline into READY when start recording camerabin: remember probe IDs and disconnect them when destroying pipelines 2009-07-28 09:53:22 +03:00
Wim Taymans
ffe90f81a4 rtpsession: avoid doing lip-sync in BYE
When we get a BYE packet, don't do lip-sync with the SR inside because some
senders have trouble constructing valid SR packets after BYE.
2009-07-27 15:49:54 +02:00
Wim Taymans
9b1bdac9cc rtpbin: don't do lip-sync after a BYE
After a BYE packet from a source, stop forwarding the SR packets for lip-sync
to rtpbin. Some senders don't update their SR packets correctly after sending a
BYE and then we break lip-sync. We prefer to let the jitterbuffers drain with
the current lip-sync instead.
2009-07-27 13:17:20 +02:00
Wim Taymans
7bd35cb8c7 rtpbin: only reconsider once for BYE
When iterating the sources of a BYE packet, don't signal a reconsideration for
each of them but signal after we handled all sources.
2009-07-27 12:43:02 +02:00
Thiago Santos
2641cd9d94 asfmux: Adds new plugin asfmux
Adds the brand new asfmux plugin, containing 3 elements:
asfmux, rtpasfpay and asfparse. This plugin was developed
as a GSoC 2009 project, with David Schleef as the mentor and
Thiago Santos as the student.
2009-07-24 14:52:28 -03:00
Sebastian Dröge
da7263b51f mpegdemux: Remove some backward compatibility code
Also we always require liboil so use it unconditionally.
2009-07-23 09:58:38 +02:00
Sebastian Dröge
d8b285d7fd mpegdemux: Implement query type function for the src pads 2009-07-23 09:53:29 +02:00
Olivier Crête
2abe07f963 rtpsession: Free conflicting addresses on finalize 2009-07-22 14:19:57 -04:00
Olivier Crête
d555d570e6 rtpmux: Free the pad private data on pad release
Free the pad private data on pad release instead of using a weak ref,
which is not thread safe. Also, lock the content of the pad private using the element's
object lock.
2009-07-22 14:19:57 -04:00
Tim-Philipp Müller
277327e4e5 docs: add pcapparse to docs 2009-07-22 11:45:56 +01:00
Stefan Kost
5e6edd7e7b mpegdemux: don't add a base_time==-1 to segment positions
Fixes assertion about newsegment with start=-1.
2009-07-22 00:33:22 +03:00
Stefan Kost
43657ef1f3 camerabin: small speedup in software zoom
Force crop on even pixel position to avoid slowpath in crop & scale.
2009-07-21 17:52:33 +03:00
Sebastian Dröge
86af4924cc mxfdemux: Implement SEEKING query 2009-07-21 13:51:20 +02:00
Sebastian Dröge
95e50d3598 mpegpsdemux: Implement SEEKING query
Fixes bug #588944.
2009-07-21 13:39:21 +02:00
Sebastian Dröge
1f88ceeba8 mpegtsdemux: Implement SEEKING query
Partially fixes bug #588944.
2009-07-21 13:33:58 +02:00
Sebastian Dröge
e3f08983aa mpegtsparse: Free the PMT before setting a new one 2009-07-21 13:18:10 +02:00
Mikael Magnusson
6233d1c950 mpegtsparse: Remove old PES PIDs when receiving PAT tables
Fixes bug #583470.
2009-07-21 13:18:09 +02:00
Stefan Kost
a80921e334 camerabin: log formats in preview image conversion 2009-07-20 16:42:44 +03:00
Stefan Kost
64457575e7 camerabin: remove unused variable assignment
Result is not needed here, but variable is used later on. Also remove double new
lines in function.
2009-07-20 16:42:43 +03:00
Stefan Kost
ebc417f769 fpsdisplaysink: check query return result before using it 2009-07-20 16:42:43 +03:00
Tim-Philipp Müller
114425d7ee real: differentiate between 'module does not exist' and genuine module opening errors
Don't log a GST_ERROR if one of the codec modules we were looking for
doesn't exist. That's not a genuine error, but somewhat expected.
2009-07-19 15:42:10 +01:00
Matijs van Zuijlen
01200712ea mpegdemux: Fix integer overflow
This breaks playback of files >4 GB as the offset was
a guint before. Changing it to a guint64 fixes this.
2009-07-18 08:44:58 +02:00
Stefan Kost
4ef918df28 camerabin: use gst_caps_replace instead of separate calls
This fixes setting snapshot caps back to NULL also.
2009-07-17 15:50:19 +03:00
Zaheer Merali
3d44d92630 mpegtsparse: add component tag to the video component structure in eit 2009-07-17 09:40:12 +01:00
Aleksey Yulin
2db8d6ea0b mpegtsdemux: Don't use PIDs > MPEGTS_MAX_PID
The mpegtsdemux streams array only has MPEGTS_MAX_PID entries
and accessing one afterwards will result in crashes.

Fixes bug #575672.
2009-07-16 19:52:22 +02:00
Josep Torra
6303b0e80d pesfilter: Permit unbounded packets for 0xfd (extended stream id).
Added parsing of PES extension related data.
Fixes some VC1 related issues.
2009-07-16 16:05:41 +02:00
Zaheer Merali
1a6cd35c50 mpegtsparse: add component tag to structure for component message 2009-07-15 18:27:39 +01:00
Stefan Kost
aace8e130f camerabin: use nonbuffered io to save memcopies
We write large blocks anyway, so no extra buffering please. Also use one
g_object_set to set multiple properties on same object.
2009-07-15 17:44:10 +03:00
Stefan Kost
c73bf8e4b6 camerabin: track todo items 2009-07-15 12:20:17 +03:00
Stefan Kost
ff3ef9a92a camerabin: leave image/video bin in ready when changing mode 2009-07-15 11:20:30 +03:00
Sebastian Dröge
27d6b25695 amrparse: Sync baseparse changes 2009-07-14 14:10:55 +02:00
Sebastian Dröge
8e1c21f309 aacparse: Add function for the baseparse subclass to push buffers downstream
Also handle the case gracefully where the subclass decides to drop
the first buffers and has no caps set yet. It's still required to
have valid caps set when the first buffer should be passed downstream.
2009-07-14 14:10:03 +02:00
Sebastian Dröge
493535dd89 baseparse: Fix seek event leaking 2009-07-14 14:10:03 +02:00
Sebastian Dröge
b870322686 shapewipe: Add BGRA support for video in/output 2009-07-08 17:59:29 +02:00
Sebastian Pölsterl
fc80a08e44 mpegtsdemux: Fix double free
The hash table already makes sure that the stream is correctly
free'd when elements are removed.

Fixes bug #587819.
2009-07-08 15:27:48 +02:00
Miguel Àngel Farré
4266fd443a mpegtsparse: parse component tag 2009-07-08 10:34:02 +01:00
Miguel Àngel Farré
c90fccd986 mpegtsparse: parse carousel identifier descriptor 2009-07-08 10:33:44 +01:00
Zaheer Abbas Merali
66a5549094 mpegtsparse: add parsing of data broadcast descriptors 2009-07-08 10:33:29 +01:00
Zaheer Abbas Merali
2e6de387ac mpegtsparse: fix sdt parsing.
fix parsing of everything for each service from eit schedule flag on and also
add a running-status parameter to the bus message structure.
2009-07-02 15:58:00 +01:00
Sebastian Dröge
8fade13db1 shapewipe: Add support for ARGB video input/output 2009-07-02 11:27:31 +02:00
Wim Taymans
80856964b5 rtpbin: use new method for netaddress to string 2009-07-01 12:55:03 +02:00
Wim Taymans
4bc5e2f61e rtpbin: do better cleanup of the src ghostpads
Connect to the pad-removed signal of the ptdemux elements so that we remove the
ghostpads for them. Fixes cleanup when going to NULL as well as when releasing
the sinkpads.

Fixes #561752
2009-06-29 18:48:33 +02:00
Wim Taymans
6eb961e510 rtpsession: add a comment 2009-06-29 16:38:39 +02:00
Wim Taymans
f9cc6b7b1c rtpbin: add SDES property
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-06-29 16:37:54 +02:00
Wim Taymans
ed6002ada8 rtpbin: add SDES property that takes GstStructure
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-06-29 16:21:05 +02:00
Wim Taymans
5a50a4138e rtpbin: removed old gstrtpclient 2009-06-29 16:02:09 +02:00
Sebastian Dröge
0647d963ef frei0r: Correctly clean up elements to be reusable and not leak memory 2009-06-29 12:02:19 +02:00
Sebastian Dröge
72fca8a828 frei0r: In the filter plugins create the frei0r instances in create() before playback starts 2009-06-29 11:59:13 +02:00
Sebastian Dröge
0de4e9df00 frei0r: In the mixer plugins create the frei0r instances in create() before playback starts 2009-06-29 11:56:59 +02:00
Sebastian Dröge
166ee21b5b frei0r: In the src plugins create the frei0r instances in create() before playback starts 2009-06-29 11:54:26 +02:00
Sebastian Dröge
867d51fb31 frei0r: Use fixed caps on the filter pads
This is required because we have to create a new frei0r
instance for any caps changes and the instances can have history.
Just creating a new instance during playback can result in bad output
right after the caps change.
2009-06-29 11:50:44 +02:00
Sebastian Dröge
cd6422a372 frei0r: Set the default property values correctly 2009-06-27 09:52:22 +02:00
Stefan Kost
3d6d1c2ed2 camerabin: code cleanups
Downgrade a WARNING to INFO. Use a bit more compact code. Add a fixme comment.
2009-06-26 18:36:26 +03:00
Stefan Kost
59bfe55110 camerabin: just ref caps, we don't need a writable copy 2009-06-26 18:36:25 +03:00
Stefan Kost
df14237dba camerabin: no need to ref and unref this temporarily 2009-06-26 18:36:25 +03:00
Stefan Kost
c9208657b1 camerabin: don't leak sink_caps if they would be any-caps 2009-06-26 18:36:25 +03:00
Stefan Kost
a5e9a5eebc camerabin: don't leak preview images 2009-06-26 18:36:25 +03:00
Stefan Kost
9a692cf602 camerabin: don't leak viewfinder-caps 2009-06-26 18:36:25 +03:00
Stefan Kost
2f93fb8c73 camerabin: insert a few blank lines for readability 2009-06-26 18:36:24 +03:00
Stefan Kost
4ab9f800a8 camerabin: don't leak messages and element refs in preview 2009-06-26 18:36:24 +03:00
Changwoo Ryu
1ab8c008f3 freeze: don't build plugin static lib
Pass --tag=disable-static to libtool like we do for other plugins.
Fixes #587023.
2009-06-26 09:34:11 +01:00
Stefan Kost
e673b099d4 camerabin: don't leak requestpads
Requestpads need to be released and unreffed. Add a comment in one case where
we intentionaly don't unref.
2009-06-25 19:34:28 +03:00
Mark Nauwelaerts
8241b05038 capssetter: import element into -bad 2009-06-25 18:10:42 +02:00
Edward Hervey
1bb23517fe qtmux: Remove unused variable. 2009-06-25 08:38:21 +02:00
Edward Hervey
d6ff39bb35 qtmux: Fix debug statement. 2009-06-25 08:38:10 +02:00
Lasse Laukkanen
c3abf1b267 camerabin: buffer-alloc support fixes to image and video bin handling
Keep image bin in PAUSED state in image mode except when processing/saving (PLAYING/READY).
Change output-selector to view finder before setting video bin to READY.
Fix filename sent with img-done signal.
2009-06-24 19:01:01 +03:00
Lasse Laukkanen
18e7091238 camerabin: fix setting mute when video bin elements haven't been created 2009-06-24 18:58:17 +03:00
Lasse Laukkanen
8a39d28002 camerabin: set image bin to PAUSED when starting capture
Set image bin to PAUSED also when starting capture using photography
interface.
2009-06-24 18:58:16 +03:00
Lasse Laukkanen
a265e4d2b3 camerabin: leave v4l2camsrc "capture-mode" as video mode when pausing 2009-06-24 18:58:16 +03:00
Sebastian Dröge
6ba122834a shapewipe: Correctly handle 0/1 fps 2009-06-23 18:24:00 +02:00
Stefan Kost
74f065ee75 camerabin: add local include dir to CFLAGS 2009-06-22 23:49:03 +03:00
Stefan Kost
a971391906 camerabin: code cruft removal and debug logs
Remove unused code. Add lots of debug loging. Change comments for local
functions to not use /** gtk-doc start style.
2009-06-22 13:41:16 +03:00
Wim Taymans
1cf9f2d497 h264parse: detect and fix for bad NALU sizes
when in AVC mode a nalu size seems invalid, assume the NALU has the size of the
available data instead of looping forever.

Fixes #586354
2009-06-22 11:19:07 +02:00
Carl-Anton Ingmarsson
426a6eaba9 vdpau: change element rank for testing purposes
set mpegvideoparse rank to primary and vdpaumpegdec to primary - 1 to get vdpaumpegdec
correctly plugged into playbin
2009-06-20 15:21:40 +01:00
Branko Subasic
c70dbe94b5 rtpbin: add support for buffer-list
Add support for sending buffer-lists.
Add unit test for testing that the buffer-list passed through rtpbin.

fixes #585839
2009-06-19 19:10:35 +02:00
Mark Nauwelaerts
11dc33bea0 aacparse: ADIF: do not send bogus timestamps, leave to downstream (decoder) 2009-06-19 18:13:09 +02:00
Mark Nauwelaerts
e29be2546f qtmux: only use (64-bit) extended (mdat) atom size if needed. Fixes #585319. 2009-06-19 18:13:06 +02:00
Mark Nauwelaerts
5b672ed441 qtmux: set default movie timescale to microsecond units 2009-06-19 18:13:03 +02:00
Mark Nauwelaerts
d4b5c6ae5b qtmux: compress/optimize stsc writing 2009-06-19 18:13:00 +02:00
Mark Nauwelaerts
1aeb7d9b54 qtmux: add 3GP style tagging (and refactor appropriately) 2009-06-19 18:12:58 +02:00
Mark Nauwelaerts
b0c0651d7c qtmux (and variants): handle pixel-aspect-ratio. Fixes #584358. 2009-06-19 18:12:54 +02:00
Tim-Philipp Müller
98292e9efd Fix previous commit so that things still work with debug logs enabled 2009-06-19 17:04:48 +01:00
Tim-Philipp Müller
6eb167a176 Make build without warnings with debugging disabled 2009-06-19 16:21:28 +01:00
Sebastian Dröge
29aa30d9a0 frei0r: Make plugin scanning more robust 2009-06-19 11:03:16 +02:00
Sebastian Dröge
b30ebf0108 frei0r: Make sure to only register plugins that have valid propert types 2009-06-19 11:03:16 +02:00
Sebastian Dröge
abffe58d43 frei0r: Remove custom get_unit_size implementation
This is already handled by the default one from GstVideoFilter
2009-06-19 11:03:15 +02:00
Sebastian Dröge
ab0a9e3694 frei0r: Fix the klass of the filter elements 2009-06-19 11:03:15 +02:00
Sebastian Dröge
3aabf06c86 frei0r: Free type names 2009-06-19 11:03:15 +02:00
Sebastian Dröge
32a0af3e54 frei0r: Unref the GstCollectPads instance on finalize 2009-06-19 11:03:15 +02:00
Sebastian Dröge
15f1ccaef8 frei0r: Don't allow caps changes in PLAYING/PAUSED
Most frei0r source plugins generate output based on
previous output and creating a new instance on caps
changes will let the output start at 0 again.
2009-06-19 11:03:14 +02:00
Sebastian Dröge
d459b814f1 freir0: Add support for frei0r mixer plugins 2009-06-19 11:03:14 +02:00
Sebastian Dröge
6fc47a92df frei0r: Destroy the f0r_instance_t in stop() 2009-06-19 11:03:14 +02:00
Sebastian Dröge
455981d336 frei0r: Add the frei0r plugin type to the element name
This makes it easier to distinguish generators from filters, etc
2009-06-19 11:03:14 +02:00
Sebastian Dröge
e3afdb0bd5 frei0r: Add support for frei0r source/generator plugins 2009-06-19 11:03:14 +02:00
Sebastian Dröge
41869062c6 frei0r: Allow the complete double range for double properties
The spec restricts it to [0,1] but some plugins are using the
complete double range.
2009-06-19 11:03:13 +02:00
Sebastian Dröge
6ed5ac184b frei0r: Use better property nicks 2009-06-19 11:03:13 +02:00
Sebastian Dröge
0a684a3d04 frei0r: First version of a frei0r wrapper plugin
Currently this only supports frei0r filters.
2009-06-19 11:03:13 +02:00
Maximilian Högner
d45e804d5a scaletempo: Explicitely cast to signed integers to fix a segfault
Fixes bug #585660.
2009-06-19 11:02:00 +02:00
Sebastian Dröge
e4730e205f shapewipe: Implement basic QoS
This change is based on Tim's QoS implementation
for jpegdec.
2009-06-19 11:02:00 +02:00
Sebastian Dröge
02b9686463 shapewipe: Proxy queries on the video pads to the correct peers 2009-06-19 11:02:00 +02:00
Sebastian Dröge
09094f2f3d shapewipe: Proxy bufferalloc on the video sinkpad 2009-06-19 11:02:00 +02:00
Sebastian Dröge
80d5bd7168 shapewipe: Try to work inplace if possible
This saves one new, large allocation per frame for the
most cases.
2009-06-19 11:01:59 +02:00
Tim-Philipp Müller
3b99292629 mxfdemux: fix stray semicolons that mess up if statement 2009-06-18 21:17:24 +01:00
Stefan Kost
2bb31a8d4a camerabin: reset filename after capture to avoid racy when capturing again
If we don't reset the filename we cannot check if we still expect the filename
for a subsequent capture pass. The imagebin would good to paused and we set the
filename in that state. This trigers an error-message and would capture to the
old filename.
2009-06-16 19:14:25 +01:00
Stefan Kost
80408b1de2 camerabin: set imagebin to PAUSED on capture and delayed filename setting
We need to set imagebin to PAUSED to not fail the bufferalloc. We also need to
keep the filesinks state locked until we have the filename for the run.
2009-06-14 10:56:30 +03:00
Stefan Kost
1187b88acd outputselector: do the pad_alloc for the pad that is pending and have a fallback
We should do the pad_alloc for the pending pad if any, as we will switch to that
pad on next _chain() call. Also do a fallback alloc, if there is no output yet to
not fail state transitions in dynamic pipelines.
2009-06-14 10:56:23 +03:00
LRN
7b28f931bb Added base libs to debug utils makefile
Fixes #585015
2009-06-07 23:01:30 +02:00
Edward Hervey
4f0b03d357 hdvparse: Link against libm because we use pow(). 2009-06-06 19:28:07 +02:00
Tim-Philipp Müller
e2ef7a2a8a id3mux: init genre field in ID3v1 tag to an invalid number
So that it is not interpreted as 'Blues' if no genre is to be written.
2009-06-06 02:35:35 +01:00
Tim-Philipp Müller
75cc0245fa id3mux: don't write ID3v1 tag until specifically instructed to do so
ID3v1 tags are one of the most broken and ill-designed things that
exist on this planet. Let's not write them by default.
2009-06-06 02:13:13 +01:00
Tim-Philipp Müller
73f231fac9 id3mux: don't write empty ID3v1 tag 2009-06-06 02:13:13 +01:00
Tim-Philipp Müller
09a304b39a id3tag: rename new id3tag element to id3mux replacing the one removed from -ugly 2009-06-06 02:13:07 +01:00
Jan Schmidt
def9b999d9 nsf: Fix compiler warning on Solaris.
A SEC() macro already exists on Solaris, causing warnings about
redefining it.
2009-06-05 23:52:49 +01:00
Edward Hervey
0aa62012c6 hdvparse: Fix the build on Commander Thaytan's S10SP 2009-06-05 22:20:46 +02:00
Stefan Kost
4d9a0e832c camerabin: fix link order
Move local version up in the link order.
2009-06-05 21:29:46 +03:00
Edward Hervey
0e1ee9031a hdvparse: Emit a GST_MESSAGE_ELEMENT with some goodness in it. 2009-06-05 20:23:44 +02:00
Edward Hervey
37254a21f4 mpegvideoparse: Add methods to get names of various values. 2009-06-05 20:23:44 +02:00
Edward Hervey
22496517e0 mpegtsdemux: Fix HDV private stream definition/caps. 2009-06-05 20:23:44 +02:00
Edward Hervey
c4ef659ebd hdvparse: Rewrite from scratch. Handle both hdv-a and hdv-v
This time we analyze a lot more information.

Still need to re-add the message emission.
2009-06-05 20:23:44 +02:00
Lasse Laukkanen
6a47f6f594 camerabin: preview image sending optimization
* decouple image capturing from image post-processing and encoding
 * post image-captured message after image is captured
 * post preview-image message with snapshot of captured image
2009-06-05 15:51:31 +03:00
Lasse Laukkanen
bbf48697fb camerabin: don't lose post processing element in first reset 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
683b72a5fe camerabin: add debug including dot graph writing 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
430f343522 camerabin: unblock if error occurs during capture 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
ca4bfb2e47 camerabin: ignore night mode handling if already in night mode 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
cbcd4e3330 camerabin: stop ongoing capture if changing resolution 2009-06-05 15:51:30 +03:00
Lasse Laukkanen
cad76384b3 camerabin: limit the size of video bin queue leading to view finder
We don't want to show old buffers in view finder.
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
3ff7128293 camerabin: don't proxy gst xoverlay interface
Default view finder sink in camerabin is autovideosink which doesn't
support xoverlay iface. If application decides to use another sink
that supports xoverlay, then it can use the interface directly.
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
710faaef68 camerabin: allow configuring photography settings when in NULL state
Cache the photography settings if set in NULL state and apply them later
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
53e6e4b0d5 camerabin: crop still image capture frame if necessary
If incoming still image capture frame aspect ratio differs from aspect
ratio that application requested, then apply crop to the frame.
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
d8013c1b76 output-selector: serialize setting and actual changing of new active pad 2009-06-05 10:00:38 +03:00
Lasse Laukkanen
97ccdf9460 output-selector: unref latest buffer also when resending has been disabled 2009-06-05 10:00:29 +03:00
Lasse Laukkanen
ab169897b3 output-selector: keep ref to buffer for resending only if explicitly requested 2009-06-05 10:00:14 +03:00
Wim Taymans
eff6395328 inputselector: don't leak pads in iterator 2009-06-04 19:09:34 +02:00
Jan Schmidt
8eac0482fd mpegdemux: Add a GST_MEMDUMP line in the descriptor parsing
Make it possible to see descriptor contents in the debug output
(GST_DEBUG=mpegtsdesc:9), and remove a stray semi-colon.
2009-06-04 16:29:31 +01:00
Jan Schmidt
b8eb0d5dbb mpegtsdemux: Avoid passing the custom GST_FLOW_NEED_MORE_DATA upstream
Don't return GST_FLOW_NEED_MORE_DATA from the chain function at the end
of files.
2009-06-04 16:11:16 +01:00
Sebastian Dröge
a0ad632320 inputselector: Notify when the tags property of the selector sinkpads changes
First part of bug #584686.
2009-06-04 08:57:25 +02:00
Christian Schaller
b14110f1be dvdspu: add missing header to Makefile.am: gstspu-common.h 2009-06-02 11:23:37 +01:00
Tim-Philipp Müller
bb95218b73 aacparse: fix sample rate extraction from codec data
In one case we extracted the sample rate index from the codec data
and saved it as sample rate rather than getting the real sample
rate from the table. Fix that, and also make sure we don't access
non-existant table entries by adding a small helper function that
guards against out-of-bounds access in case of invalid input data.
2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
52904d7175 aacparse, amrparse: remove bogus gst_pad_fixate_caps() calls 2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
44cee1789c baseparse: propagate return value of GstBaseParse::set_sink_caps()
gst_base_parse_sink_setcaps() presumably should fail if the subclass
returns FALSE from its ::set_sink_caps() function.
2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
279727d777 baseparse: don't try to GST_LOG an already-freed caps string
The proper way to log caps is via GST_PTR_FORMAT anyway.
2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
f5a03ec2a6 aacparse: set channels and rate on output caps, and keep codec_data
Create output caps from input caps, so we maintain any fields we
might get on the input caps, such as codec_data or rate and channels.
Set channels and rate on the output caps if we don't have input caps
or they don't contain such fields. We do this partly because we can,
but also because some muxers need this information. Tagreadbin will
also be happy about this.
2009-06-02 00:56:52 +01:00
Mark Nauwelaerts
7f82fe3b46 gppmux: enhance ftyp brand heuristic. Fixes #584360. 2009-06-01 22:42:44 +02:00
Sebastian Dröge
7709bf5f2a shapewipe: Fix some issues that were exposed by the new unit test 2009-06-01 21:25:13 +02:00
Sebastian Dröge
6e9d79e08c shapewipe: Add documentation and integrate into the build system 2009-06-01 21:25:12 +02:00
Tim-Philipp Müller
7c5ff224fc sdpdemux: include glib.h before checking if G_OS_WIN32 is defined 2009-05-31 20:24:44 +01:00
Edward Hervey
c80da130d5 hdvparse: Setting rank to NONE so it doesn't get picked up by playbin2. 2009-05-31 18:23:50 +02:00
Edward Hervey
5df5059d56 hdvparse: Emit application message with the parsed information. 2009-05-31 18:23:08 +02:00
Edward Hervey
c6cd4d09e2 hdvparse: New element for parsing private/hdv-a1 streams. 2009-05-31 14:15:43 +02:00
Sebastian Dröge
01b8bacd1b shapewipe: Adjust border to still have everything transparent at 1.0 and the other way around 2009-05-29 21:07:26 +02:00
Sebastian Dröge
332dae7198 shapewipe: Divide the border value by two, otherwise we use a twice a wide border 2009-05-29 16:55:25 +02:00
Sebastian Dröge
19b4c4f335 shapewipe: Add border property to allow smooth borders
...and use a border of 0.01 in the example application.
2009-05-29 16:52:21 +02:00
Jan Schmidt
db7d1a7eeb mpegtsdemux: Fix bogus uninitialised variable access
Typo in the previous commit
2009-05-29 15:44:51 +01:00
Jan Schmidt
f3a9f52536 mpegtsdemux: Use the ISO 639 language code descriptor to send tags.
If there is an ISO 639 language descriptor for a stream, send a language
code tag so that players can show a meaningful language for the audio and
subtitle streams.
2009-05-29 15:07:11 +01:00
Sebastian Dröge
febef56cf2 shapewipe: Add a simple shapewipe transition filter & example application 2009-05-29 15:34:03 +02:00
Olivier Crête
f6be4da21d rtpbin: Transform the right session sdes message
Fixes #584165
2009-05-29 10:39:09 +02:00
Olivier Crête
71fe0d7bd3 Add ssrc to application/x-rtp-source-sdes structure 2009-05-29 10:39:09 +02:00
Tim-Philipp Müller
53eeb90c21 audioparse: add support for A-Law and µ-Law 2009-05-28 23:14:46 +01:00
Tristan Matthews
530377c40f gstspu: Fix compiler warnings on OS/X
Fix some warnings for format string args and uninitialized vars on OS/X
Fixes: #584164
Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
2009-05-28 23:11:38 +01:00
Mark Nauwelaerts
f7f056c6b2 qtmux: use different stsd atom type for H263 for ISO and QT variants
Fixes #584114.
2009-05-28 13:56:38 +02:00
Mark Nauwelaerts
840955c226 amrparse: consider header size in byte <-> time conversions 2009-05-28 13:09:24 +02:00
Mark Nauwelaerts
c07be49896 baseparse: fix debug category 2009-05-28 13:08:42 +02:00
Stefan Kost
ff6bea9231 selector: remove not needed instance var (previous commit). 2009-05-28 10:38:50 +03:00
Stefan Kost
addb247436 outputselector: implement pad_alloc on active pad. 2009-05-28 10:15:50 +03:00
Wim Taymans
af89b6de1c rtpsouce: the network address is in network order
Bring the network address in netowkr byte order to the host order.
2009-05-27 11:03:14 +02:00
Jan Schmidt
0716d36b13 gstspu: Convert g_warnings to GST_ERROR, and fix format specifiers
Use G_GSSIZE_FORMAT for printing pointer differences, which should work on
both 32-bit and 64-bit systems.
Use GST_ERROR instead of g_warning for printing messages about unknown
packet contents.
2009-05-27 00:51:45 +01:00
Jan Schmidt
35a66554b4 gstspu: Fix a nasty regression, with DVDs randomly crashing
Use the local wrapper function when clearing the compositing buffers to
ensure the correct portion is being cleared.
2009-05-27 00:47:05 +01:00
Jan Schmidt
b460592917 mpegdemux: Only treat streams from 0xa0 to 0xaf as LPCM, not 0xa0..0xbf
Don't treat some streams (Private Stream 2) as LPCM when they're not. Fixes
playback of files that have private streams in them now that the PES filter
emits such packets.
2009-05-26 21:05:01 +01:00
Tim-Philipp Müller
606daecf70 dvdspu: fix printf formats to avoid compiler warnings 2009-05-26 18:43:18 +01:00
Jan Schmidt
b68a05dbfa gstspu: Implement PGS rendering and alpha blending
Refactor the DVD subpicture compositing, switching it to 8-bit alpha
calculations. Reuse some of the resulting code to implement PGS
subpicture blending.

Implement parsing and collecting of composition objects properly, but
assuming a single active window and colour palette for now. I need more
PGS samples.
2009-05-26 15:58:09 +01:00
Jan Schmidt
7e20e3be45 dvdspu: Move a bunch of vobsub specific logic to a separate file.
Start separating out the vobsub logic in preparation for creating
separate renderer objects for each subpicture format.
2009-05-26 15:31:56 +01:00
Jan Schmidt
e0e5975462 dvdspu: Add copyright header and includes to the PGS handler 2009-05-26 15:31:55 +01:00
Jan Schmidt
293a976532 dvdspu: Make the PGS dumping less verbose 2009-05-26 15:31:55 +01:00
Jan Schmidt
871287ba2a dvdspu: Collect entire PGS packets and queue as events
Collect fragmented PGS packets and submit as complete events for
processing at the correct moment.
2009-05-26 15:31:55 +01:00
Jan Schmidt
4e847cb4ac dvdspu: Add simple PGS handler that dumps the packet info
Add setcaps logic on the subpicture sink pad for configuring
which subpicture format is arriving.

Add the first piece of PGS subpicture handling by dumping the stream
contents out to the terminal as the packets arrive.

Add some more debug.
Don't calculate the running time for our subpicture packets twice,
once is enough.
2009-05-26 15:31:54 +01:00
Jan Schmidt
78cd406a76 dvdspu: Add a simple default colour table.
When we're not provided with a palette in advance, draw with a grey
colour or two, instead of YUV green.
2009-05-26 15:31:54 +01:00
Jan Schmidt
f7eefea47c mpegdemux: Add sparse stream filling.
First stab at sending new-segment events to effect sparse stream
updates.
2009-05-26 15:31:54 +01:00
Jan Schmidt
e1d778e559 mpegdemux: Add support for outputting sub-picture streams found in files.
Output subpicture streams when they are found on the private stream ID.
Don't strip off the first byte of such packets when pushing.
2009-05-26 15:31:53 +01:00
Jan Schmidt
471640e3f3 mpegtsdemux: Add mapping for DVD and Bluray subpicture streams.
Add output subpicture pads for DVD (video/x-dvd-subpicture) and Bluray PGS
(subpicture/x-pgs) streams. Remove an unused variable from
the PES filter.
2009-05-26 15:31:53 +01:00
Jan Schmidt
a7cd4b03ad dvdspu: Don't accidentally lose the colour palette when flushing the SPU
Fixes racy startup on DVDs where it sometimes gets entirely the wrong set
of colours in the menus and subtitles.
2009-05-26 15:31:51 +01:00
Wim Taymans
707eaf7684 rtpsource: byteswap the port from GstNetAddress
Since the port in GstNetAddress is in network order we might need to byteswap it
before adding it to the source statistics.
2009-05-26 15:42:55 +02:00
Edward Hervey
023af351fb gstpesfilter: Directly use gst_adapter_take_buffer(). 2009-05-25 18:32:26 +02:00
Edward Hervey
410d8f8910 gstpesfilter: Don't peek the adapter if we don't have enough data. 2009-05-25 18:32:26 +02:00
Edward Hervey
849ea99358 gstpesfilter: Don't skip private streams PES but push them out.
The one thing we *DO* need to do for those streams is to skip all
the PTS/DTS/Scrambling/DSM/extension/... handling.
2009-05-25 18:32:26 +02:00
Edward Hervey
36cc757bda mpegtsdemux: Ignore NULL packets as early as possible.
This avoids:
* creating a MpegTSStream structure for nothing
* processing packet data for nothing
2009-05-25 18:32:26 +02:00
Edward Hervey
f92f282874 mpegtsdemux: Add mapping for HDV private streams 2009-05-25 18:32:26 +02:00
Wim Taymans
269f3ff1a2 rtpbin: remove ptdemux ghostpads 2009-05-25 13:46:29 +02:00
Michael Smith
1a98c66f4a adpcmdec: Add new plugin for ms-adpcm decoding. 2009-05-22 16:56:52 -07:00
Edward Hervey
0444aa3374 mpegvideoparse: Detect interlaced content and set it on outgoing caps.
I also added the parsing of all the other bits in the sequence extension
header in case we need it later.
2009-05-22 17:19:26 +02:00
Wim Taymans
e8423da78e rtpbin: add to new signal to remove SSRC pads 2009-05-22 16:41:19 +02:00
Ali Sabil
0d014baaa4 ssrcdemux: emit signal when pads are removed
Add action signal to clear an SSRC in the ssrc demuxer.
Add signal to notify of removed ssrc.

See #554839
2009-05-22 16:35:20 +02:00
Wim Taymans
9353ceb530 rtpbin: use our ghostpads instead of its target
Since we keep a reference to our ghostpads, we can use them to track sessions.
This avoid us having to mess with the target of the ghostpad.
2009-05-22 15:45:19 +02:00
Wim Taymans
1c85da2d2b rtpbin: don't warn when getting request pads twice
Allow getting the request pads multiple times, just return the previously
created pads.
2009-05-22 15:36:17 +02:00
Wim Taymans
a0b6202baf rtpsource: add RTP and RTCP source address
Add the RTP and RTCP sender addresses in the stats structure.
2009-05-22 13:47:30 +02:00
Wim Taymans
d48dcb0499 rtpsession: reuse source code for SDES
Reuse the RTPSource object property instead of duplicating code.
2009-05-22 13:45:15 +02:00
Wim Taymans
142840432b rtpbin: set target state on new elements
Set the state on newly added elements to the state of the parent.
Add some debug info and do some cleanups
2009-05-22 12:20:13 +02:00
Wim Taymans
58c59d7953 rtpbin: unref requests pads after releasing 2009-05-22 11:59:17 +02:00
Wim Taymans
580b20d6cc mpegtsdemux: fix memleaks and refcounts
Use correct constants for PID_type so that we clear the right filter.
provide_clock must return a ref to a clock.
2009-05-22 11:02:07 +02:00
Tim-Philipp Müller
e5b1c976c4 id3tag: canonicalise function names 2009-05-22 09:54:57 +01:00
Tim-Philipp Müller
fdaeae57c9 id3tag: change GType to GstId3Tag so it doesn't conflict with the id3tag plugin in -ugly 2009-05-22 09:51:29 +01:00
Tim-Philipp Müller
02bff8754b id3tag: register GType of the base class with a less generic name
.. so we can easily move the base class into -base later without
causing GType name conflicts.
2009-05-22 01:30:48 +01:00
Olivier Crête
c5ab83a1cb rtpbin: Implement releasing the streams
See #561752
2009-05-22 01:46:04 +02:00
Olivier Crête
451ca5dbc0 rtpbin: Keep jb signals handler
Keep the signal handlers so they can be disconnected at release time

See #561752
2009-05-22 01:16:11 +02:00
Wim Taymans
b3aeee2bf2 rtpbin: use the right lock for the sessions
Use the right lock when iterating the sessions.
2009-05-22 01:12:57 +02:00
Olivier Crête
fb59348dbe rtpbin: Free session if request pads are released
Free the session when all the request pads are released.
Don't mess with the session list in free_session as it is called from a foreach
on that list.
Set the state of the upstream element to NULL first.

See #561752
2009-05-22 01:03:55 +02:00
Olivier Crête
4424fd3c93 rtpbin: Implement relasing of the rtp recv pad 2009-05-22 00:51:53 +02:00
Olivier Crête
65d55e6b13 rtpbin: Implement releasing of rtp send pads 2009-05-22 00:44:51 +02:00
Olivier Crête
b831c9b434 rtpbin: Implement release of the recv rtcp pad
See #561752
2009-05-22 00:34:36 +02:00
Olivier Crête
ab80a4fa41 rtpbin: Implement releasing of rtcp src pad
See #561752
2009-05-22 00:16:19 +02:00
Wim Taymans
e9eae335f1 sdpdemux: rework RTCP sending and RTP receiving
When we are dealing with multiast, create the udp src and sink elements pointing
to the multicast addresses. When we are doing unicast, receive data on the local
ports and don't send RTCP because we don't know where we have to send it.

Fixes #583188
2009-05-21 22:22:06 +02:00
Michael Smith
fe38f53572 id3tag: Add new id3 tagging plugin, supports v1, v2.3, and v2.4.
By default, does v1 and v2.3, but there are properties to select.
Will hopefully replace id3mux, id3v2mux, in the not-too-distant future.
2009-05-21 13:15:46 -07:00
Edward Hervey
0520a2a53b mxf: Fix frame_layout for non-interlaced formats. Fixes #583337 2009-05-20 17:15:51 +02:00
Jan Schmidt
90aa8eff4c fpsdisplaysink: Fix resetting of the sink in NULL
Reset the fpsdisplaysink in NULL by removing the textoverlay if we
created it.

Fixes: #582633
2009-05-16 01:26:55 +01:00
Jan Schmidt
48e32a0890 Moved 'y4menc' from -bad to -good 2009-05-16 00:17:00 +01:00
Thiago Santos
405f80dec4 [qtmux] Fixes segfault when adding a blob as first tag.
Moves tags data initialization to the function that actually appends
the tags to the list. Fixes #582702

Also fixes some style caught by the pre-commit hook.
2009-05-15 09:21:44 -03:00
Sebastian Dröge
f5ba4904f7 mxfdemux: Use a RW lock to protect metadata and add all pads at once without a lock held
This makes it possible, among other things, to do a query in the
pad-added callback.

Fixes bug #582656.
2009-05-15 11:49:20 +02:00
Jan Schmidt
29b44a5e2f dvdspu: Push update frame, if any, when entering stills.
When entering a still frame generates an updated buffer, make sure
to push it out, otherwise we may not put a frame onscreen with a
rendered button, causing raciness as to whether buttons get drawn
or not when jumping back to the menu on some discs.
2009-05-14 11:28:14 +01:00
Wim Taymans
b20a88702d y4menc: change my email
change my email to something more current
See #580783
2009-05-13 17:55:46 +02:00
Wim Taymans
60f46ec99c y4menc: don't strip timestamps
Fixes #582483
2009-05-13 17:54:47 +02:00
Sebastian Dröge
453794d383 Moved 'deinterlace2' from -bad to -good
And remove old deinterlace plugin as deinterlace2 will
be called deinterlace in -good.
2009-05-13 10:47:54 +02:00
Sebastian Dröge
8c13566624 Moved 'flv' from -bad to -good 2009-05-12 21:50:12 +02:00
Jan Schmidt
ad1f7e6ed3 dvdspu: Make the debugging output a bit clearer.
Display more info about custom DVD events in the debug messages.
2009-05-11 17:04:09 +01:00
Jan Schmidt
513367a88c dvdspu: Always push a frame at the start of a still frame, and fix a leak.
Make sure to push the frame for a still frame, with discont = true and
timestamp=none, so that it gets displayed by the sink. Also, don't leak
each rendered video frame during still menus.
2009-05-11 17:04:09 +01:00
Jan Schmidt
571a7746fc dvdspu: Add a guard when we don't have any subpicture buffer to render 2009-05-11 17:04:08 +01:00
Edward Hervey
f9dfc44a67 mpegtsdemux: Protect bitrate estimation against bogus values.
If the estimated bitrate is lower than 188 bytes, there's most likely
something completely wrong with the two samples. If that happens,
force recalculation.

Use guint64 for observation PCR, I saw cases where it would overflow.
2009-05-11 16:59:20 +02:00
Edward Hervey
bc062b9acf mpegtsdemux: Only take PCR from the active stream for bitrate estimation. 2009-05-11 16:58:58 +02:00
Edward Hervey
432dd98321 mpegtsdemux: Change debugging levels for very frequent messages.
This allows debugging with mpegtsdemux:4 while being able to track what's
going on (and avoid taking up as much cpu for debugging as for the actual
demuxing process).
2009-05-11 16:53:18 +02:00
Edward Hervey
5aa3358f3b mpegtsdemux: Revert indentation and comment header file.
One shouldn't run gst-indent on .h files, in this case it was un-beautifying
the indentation :)
2009-05-11 16:53:12 +02:00
Mark Nauwelaerts
29d53b22f9 gppmux: Add MPEG-4 part 2 to supported formats. Fixes #581593. 2009-05-10 21:21:36 +02:00
Tristan Matthews
6451febd14 mxfmux: Fix uninitialized variable compiler warning
This will always be set to something but gcc didn't detect
this. Fixes bug #582013.
2009-05-10 10:41:41 +02:00
Sebastian Dröge
d09515b49f mxfmux: Write metadata items in reference order
This ensures that the metadata items are always written
in the same order and that first comes the preface,
then the identification linked from the preface, ...

Some demuxers can't handle files where the metadata
items are in random order.
2009-05-09 15:50:51 +02:00
Sebastian Dröge
18f8c9b0b4 mxfmux: Fix EOS logic again 2009-05-09 15:50:51 +02:00
Sebastian Dröge
8692ae2a9d mxfmux: Don't unref NULL buffers if pushing a buffer after the first failed 2009-05-09 15:50:51 +02:00
Zaheer Merali
ff7b54e7da mpegtsdemux: Add initial naive seeking support and fix duration query.
Sync from gst-fluendo-mpegdemux and have seeking/duration query
improvements in. No support however for wrapped around pcrs etc. but a
start nonetheless.
Also fix indentation issues.
2009-05-08 18:26:43 +01:00
Sebastian Dröge
8c57211bd2 deinterlace2: Add a disabled mode for passthrough operation
Also allow to change the mode in PAUSED and PLAYING by updating
the caps if necessary.
2009-05-08 15:42:43 +02:00
Christian Schaller
67dd3c11f4 Add ranks to various muxers and encoders in -bad 2009-05-07 17:53:42 +01:00
Arnout Vandecappelle
9542d9e251 mpeg4videoparse: don't leak the config data
Clear the config data when going to READY or when disposed.
Fixes #581427
2009-05-05 16:54:39 +02:00
Wim Taymans
46139253bc rtpssrcdemux: drop unexpected RTCP packets
We usually only get SR packets in our chain function but if an invalid packet
contains the SR packet after the RR packet, we must not fail but simply ignore
the malformed packet.

Fixes #581375
2009-05-05 16:50:14 +02:00
Zaheer Abbas Merali
179f5bb850 mpegtsparse: Remember pids that are meant to be stream pids.
Fixes #569781
2009-05-04 22:09:05 +01:00
Vincent Genieux
e41401e317 mpegtsparse: Ignore subtable extension when parsing PAT
Fixes #569673.
2009-05-03 17:42:44 +01:00
Vincent Genieux
8ef8daf4db mpegtsparse: make safe changing the program-numbers property dynamically
Fixes #569437.
2009-05-03 17:21:22 +01:00
Mark Nauwelaerts
9bbacae78f baseparse: fix (regression in) newsegment handling
(aacparse, amrparse, flacparse).  Fixes #580133.
2009-05-03 14:46:58 +02:00
Tim-Philipp Müller
76535b0e1f docs: make fpsdisplaysink show up in the docs 2009-05-01 14:28:43 +01:00
Tim-Philipp Müller
9b1c7c94b4 fpsdisplaysink: move private struct into plugin struct and use Gst namespace 2009-05-01 14:28:43 +01:00
Tim-Philipp Müller
e101037589 fpsdisplaysink: rename plugin (not element) to debugutilsbad
Makes it easier to add further utils here without creating yet another plugin.
2009-05-01 14:28:42 +01:00
Thiago Santos
76aa98549a qtmux: changes caps of src pads to video/quicktime, variant=something
Take a look at bug #580005 for further info.
2009-04-30 14:43:36 -03:00
Tristan Matthews
8d4315ee5c fpsdisplaysink: init variable to NULL to avoid compiler warning
Fixes #580901.
2009-04-30 17:09:28 +01:00
Wim Taymans
5704bc8f89 dvdspu: do some basic clipping
Add some basic clipping of the subtitle region when the subtitle is bigger than
the image we should put it on.
2009-04-30 14:20:16 +02:00
Wim Taymans
f38cb76b5f dvdspu: don't EOS when the subtitle got EOS
Don't forward the EOS on the subtitle pad as the video might still be running.
2009-04-30 14:18:58 +02:00
Stefan Kost
1ae52725d9 fpsdisplay: code cleanup and plug overlay as needed
Pluggin the text-ovelay causes some slowdowns and might need a colorspace
converter. We now only check the text-overlay property whne goint to ready and
plug or unplug the text-overlay at that time. If the property changes during
playing, its not switched immediately.
2009-04-30 13:48:07 +03:00
Tristan Matthews
62db462298 flvmux: init variable to NULL to fix compiler warning
Fixes #580786.
2009-04-29 18:53:58 +01:00
Sebastian Dröge
87e9e529e7 flv: Set/require the framed/parsed fields of the audio/mpeg caps to TRUE 2009-04-29 13:56:07 +02:00
Sebastian Dröge
c741c2cd59 flv: Always write at least the minimal tags and write the PAR as tags 2009-04-29 13:16:25 +02:00
Sebastian Dröge
d780d5f095 flv: Add support for muxing some tags 2009-04-29 13:03:46 +02:00
Sebastian Dröge
51e01d6bb5 flv: Add support for title tag 2009-04-29 13:03:27 +02:00
Sebastian Dröge
bf4d7d233d flv: Fix parsing of tags and add new mappings
We shouldn't register a new GstTag for every unknown tag
we find as this might lead to conflicts and also those
tags are essentially unknown.

Add mappings for some known tags and also convert string
dates to GDate, as found in many FLV files.
2009-04-29 09:42:32 +02:00
Olivier Crête
3a4c9c990a rtpmux: Reject wrong caps 2009-04-28 16:28:40 -04:00
Olivier Crête
6c4eeff781 rtpmux: Fix leak
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2009-04-28 16:03:49 -04:00
Olivier Crête
905aad3572 rtpmux: Fix leak
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2009-04-28 15:59:37 -04:00
Olivier Crete
cc51f90c1a rtpsouce: make WARNING into LOG
Since neither rtpmanager nor any of the payloaders properly implement
pad allocation, there is no way for the rtpmanager to inform downstream elements
of the new SSRC if there is an SSRC collision. So the warning is emitted all the
time and it is confusing.

Fixes #580144
2009-04-27 11:11:11 +02:00
Olivier Crete
bf3ea86c2f rtpsession: notify when SSRC changes
Emit a g_object_notify when the SSRc changes because of a collision.
Fixes #580144
2009-04-27 11:11:11 +02:00
Christian Schaller
b627bb5f2d Add new plugin to spec file and add missing header to gst/dccp/Makefile.am 2009-04-27 10:04:51 +01:00
Thiago Santos
bb86b8ca7e mp4mux: Changes src caps to application/x-iso-mp4
Fixes #580005
2009-04-24 18:53:36 -03:00
Stefan Kost
95520973d0 fpsdisplay: more cleanups
Use normal gst-defines in PLUGIN_DEFINE. Shorten _start/stop method names.
More ideas. Move debug category-init down to plugin-init.
2009-04-23 14:38:20 +03:00
Stefan Kost
314f2e26c5 fpsdisplay: use a nicer font family 2009-04-23 14:38:19 +03:00
Stefan Kost
193f638b0a fpsdisplay: various cleanups, docs and comments
Remove unused base_init. Add basic doc blob. Reuse query object. Rename
variables for clarity. Add comments and ToDos.
2009-04-23 14:38:19 +03:00
Stefan Kost
790235e29f fpsdisplay: remove iface proxy
When we get bus messages for setting the xid, we have the real sink element
instance as message_src. No need to proxy the xoverlay iface therefore
(autovideosink does not do it either). Also we don't need to rewrite the
message src of all messages from that sink.
2009-04-23 14:38:19 +03:00
Jan Schmidt
5307933825 input-selector: Forward segment events for the active pad immediately.
When a segment event is received on the active pad, forward it downstream
immediately instead of deferring it until the next data buffer arrives. This
fixes problems with segment updates never being sent downstream, like those
needed for sparse streams, or for closing previously opened segments.

This fixes playback of DVD menus with a still video frame and an audio track,
for example.

Fixes: #577843
2009-04-23 11:09:13 +01:00
Olivier Crête
962f9173f2 rtpmux: Fix warning 2009-04-22 18:01:07 -04:00
Olivier Crête
74e0724acf rtpmux: Set different caps depending on the input 2009-04-22 16:29:44 -04:00
Olivier Crête
098b75c2f2 rtpmux: Only free pad private when pad is disposed 2009-04-22 16:26:08 -04:00
Sebastian Dröge
6734a9980e flv: Add documentation to flvmux and flvdemux
Partially fixes bug #573737.
2009-04-22 19:52:05 +02:00
Sebastian Dröge
8e84633120 mxf: Mark most fields of the instance struct as private 2009-04-22 19:45:07 +02:00
Sebastian Dröge
4efa891f6f deinterlace2: Add documentation and integrate into the build system 2009-04-22 19:43:22 +02:00
Sebastian Dröge
e3664d57ad mxf: Add documentation to mxfmux and update the docs 2009-04-22 19:24:43 +02:00
David Schleef
ef5e486fcd Add interlaced support to videoparse
Add a virtual method in rawparse to set buffer flags.  This doesn't
use API from unreleased -base, since it defines GST_VIDEO_BUFFER_TFF
if it's not defined yet.
2009-04-21 18:55:05 -07:00
Olivier Crête
b68fa5111a Merge branch 'rtpmux-fixes' 2009-04-21 13:27:29 -04:00
Edward Hervey
c717af5c0a mpegdemux: Only error out at EOS push failure if we don't have any streams.
This should remove the bogus error messages while still keeping the original
intent of this, which is to inform the pipeline/application/user that we
could not find any valid streams.

There are many reasons why pushing an event can fail, and not all of them are
because there's no link downstream (it could be because it was blocked, or
flushing).
2009-04-21 16:12:08 +02:00
Zaheer Abbas Merali
51fdc78786 mpegtsdemux: add hack specific for itvhd
itvhd masks its h264 video stream as a private stream making it harder for
other set top boxes to decode. this checks for specific program number, video
pid and stream type combination before declaring it as h264.
2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
c5825f9e1d mpegtsparse: detect AC3 streams in PMT table
add 'has-ac3' boolean to pmt bus message
2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
39d6074539 itv hd hack 2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
e8ca380063 hack for itvhd sid to detect mpeg1 as h264 2009-04-21 12:09:31 +01:00
Olivier Crête
9c014d0013 rtpmux: Remove useless caps mangling 2009-04-20 20:24:17 -04:00
Olivier Crête
edd3717150 rtpmux: Rename variable for more clarity 2009-04-20 20:23:39 -04:00
Olivier Crête
655a3d125a rtpmux: Use GST_BOILERPLATE 2009-04-20 20:23:37 -04:00
Olivier Crête
5af0efd1d3 rtpmux: Do the includes locally 2009-04-20 20:23:02 -04:00
Sebastian Dröge
0ad5dec019 deinterlace2: Make it possible to select interlacing autodetection or to enfore deinterlacing
For this add a "mode" property that defaults to "interlaced" for now as
most decoders/demuxers don't properly set the "interlaced" field on the
caps yet.

If this property is set to "auto" the element will work in passthrough
mode unless the caps contain the "interlaced" field.
2009-04-19 17:21:16 +02:00
Zaheer Merali
71be79f668 mpegtsparse: fix leak of GST_TYPE_LIST gvalue 2009-04-18 23:42:57 +01:00
Zaheer Merali
c9ae67fac9 mpegtsparse: fix leak in src_pad_query 2009-04-18 13:09:23 +01:00
Wim Taymans
71076cad54 rtpsession: join the RTCP thread
Avoid a case where a joinable thread would be left unjoined, which leaked the
thread structure.
Fixes #577318.
2009-04-17 16:16:29 +02:00
Sebastian Dröge
63044be8e5 deinterlace2: Use GST_(DEBUG|WARNING|ERROR)_OBJECT instead of the non-OBJECT ones 2009-04-17 15:39:59 +02:00
Sebastian Dröge
9017f1903a deinterlace2: Reset history if DISCONT is set on the incoming buffer 2009-04-17 15:39:36 +02:00
Sebastian Dröge
6c8f4a36e3 deinterlace2: Fix timestamps for buffers with RFF flag set 2009-04-17 15:39:10 +02:00
Sebastian Dröge
7a30947913 mxf: Properly handle the new interlaced support from libgstvideo for (de)muxing 2009-04-16 22:14:15 +02:00
Sebastian Dröge
a32e180155 deinterlace2: Rename line_length to row_stride and remove output_stride 2009-04-16 17:42:27 +02:00
Sebastian Dröge
ffaef58b59 deinterlace2: Implement support for RFF and ONEFIELD buffer flags 2009-04-16 17:42:27 +02:00
Stefan Kost
e01373662a fpsdisplaysink: add a initial port of a sink with fps display
This now works with a event probe. Needs some extra work.
2009-04-16 18:39:29 +03:00
Lasse Laukkanen
78b208125a camerabin: clean up and fix assertion fail when setting zoom in NULL state 2009-04-16 16:08:42 +03:00
Lasse Laukkanen
9b0fa11a5d camerabin: fix format matching when detecting allowed frame rate 2009-04-16 16:08:41 +03:00
Lasse Laukkanen
0847a84f41 camerabin: don't lose pending state when changing resolution 2009-04-16 16:08:40 +03:00
Lasse Laukkanen
65ddcd6d5d camerabin: change img-done signal parameter from GString* to const gchar*
Don't allow setting filename via img-done signal parameter but force app
use filename property. Don't stop capture when setting filename property.
Update check unit test based on the change.
2009-04-16 15:19:20 +03:00
Olivier Crête
d8ba5624ce rtpmux: Add GST_DEBUG_FUNCPTRs 2009-04-15 13:23:01 -04:00
Olivier Crête
66fca81e23 rtpdtmfmux: Release locked pad on release_pad
Release the special pad if the pad is removed from the muxer.
2009-04-15 13:15:55 -04:00
Laurent Glayal
65cb85316b rtpdtmfmux: Release special on pad dispose
Fixes #577690
2009-04-15 13:11:32 -04:00
Wim Taymans
a2fdf5648f jitterbuffer: prevent overflow in EOS estimation
Use a guint64 instead of a guint to hold a 64bit value to prevent completely
bogues EOS estimation values due to overflows.
2009-04-15 18:14:48 +02:00
Wim Taymans
ba6b41dad4 rtpbin: we should not provide a clock
There is no need to provide a clock.
2009-04-15 17:44:17 +02:00
Wim Taymans
f7af854c28 jitterbuffer: more estimated EOS fixes
Do more accurate EOS estimate and guard against backward timestamps.
2009-04-15 17:28:56 +02:00
Wim Taymans
87da61f965 jitterbuffer: release lock before pushing EOS
Make sure we release the jitterbuffer lock before we start pushing out data
because else we might deadlock.
2009-04-15 17:25:02 +02:00
Sebastian Dröge
e539615c79 deinterlace2: Move output buffer from the instance struct to a function parameter 2009-04-15 15:46:44 +02:00
Sebastian Dröge
b66a6f90be deinterlace2: Add initial support for automatic detection of the field order 2009-04-15 15:33:17 +02:00
Sebastian Dröge
5a95bac390 deinterlace2: Add support for YVYU colorspace
This is the same as YUY2 with just Cr and Cb swapped. As
we don't make a difference between them when deinterlacing
this works.
2009-04-15 14:47:49 +02:00
Sebastian Dröge
50424e44ad mxfmux: Small cleanup 2009-04-13 13:33:00 +02:00
Sebastian Dröge
0fa50e9d77 mxfdemux: Don't use invalid buffer offsets, instead assume offset == 0 2009-04-07 15:49:00 +02:00
Sebastian Dröge
acc912599d mxf: Fix comparison 2009-04-07 15:45:50 +02:00
Sebastian Dröge
83324d6788 Use UL database for all metadata ULs 2009-04-07 15:20:10 +02:00
René Stadler
d5216a1a66 baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse) 2009-04-07 05:41:46 +03:00
René Stadler
0293f54d06 baseparse: Fix push mode seeking (aacparse, amrparse)
Sending the flush-start event forward before taking the stream lock actually
works, in contrast to deadlocking in downstream preroll_wait (hunk 1).

After that we get the chain function being stuck in a busy loop. This is fixed
by updating the minimum frame size inside the synchronization loop because the
subclass asks for more data in this way (hunk 2).

Finally, this leads to a very probable crash because the subclass can find a
valid frame with a size greater than the currently available data in the
adapter. This makes the subsequent gst_adapter_take_buffer call return NULL,
which is not expected (hunk 3).
2009-04-05 05:26:09 +03:00
Jan Schmidt
0b73fd2870 dvdspu: Add some debug
Add a little bit of extra debug. Wrap a hardcoded #if 0 into a define instead.
2009-04-02 14:46:22 +01:00
Tim-Philipp Müller
fffc3ba770 legacyresample: fix negotiation so that upstream can actually fixate to downstream's rate
If one side has a preference for a particular sample rate or set of sample rates, we
should honour this in the caps we advertise and transform to and from, so that elements
actually know about the other side's sample rate preference and can negotiate to it
if supported. Also add unit test for this.
2009-04-01 15:45:22 +01:00
Mark Nauwelaerts
ad2c7bffe7 baseparse: Delay newsegment as long as possible.
If newsegment is sent (too) early, caps may not yet be fixed/set,
and downstream may not have been linked.
2009-03-31 16:18:00 +02:00
Wim Taymans
d6550696d4 rtpbin: add on_npt_stop signal
Add the on_npt_stop signal to rtpbin and rtpjitterbuffer to notify the
application that the NPT stop position has been reached.
2009-03-27 17:44:57 +01:00
Wim Taymans
9605150830 outputselector: reset state when going to READY
Reset the last-buffer, the pending pad and the segment when going to the READY
state.
Fixes #576712.
2009-03-27 11:21:21 +01:00
Mark Nauwelaerts
654ca28f1b qtmux: fix reusing element
State change to READY and then back to PAUSED should still provide
the proper structures as are otherwise freshly available following
a request_new_pad.

Pointed out by Thiago Santos.
2009-03-26 21:56:28 +01:00
Sebastian Dröge
f510be57cd mxf: Fix compilation and compiler errors with GLib < 2.16.0 2009-03-26 20:28:30 +01:00
Sebastian Dröge
2c51bbdfad mxf: Fix "cast to pointer type of different size" compiler warning 2009-03-26 14:26:34 +01:00
Sebastian Dröge
9b6d6fd0dd mxf: Rename forgotten function to fix unresolved symbols error 2009-03-26 13:24:49 +01:00
Sebastian Dröge
f22494b6fe mxf: Use mxf_u{l,uid}_is_equal() and friends instead of memcmp() 2009-03-26 13:20:18 +01:00
Sebastian Dröge
c1c8b40d42 mxf: Differentiate between UL and UUID 2009-03-26 13:11:07 +01:00
Sebastian Dröge
ce01236e32 mxf: Source files and #include cleanup 2009-03-26 12:46:22 +01:00
Sebastian Dröge
eaea85ed4a xdgmime: Use GIOs g_content_type_guess() if possible 2009-03-26 12:10:05 +01:00
Sebastian Dröge
81af2259c2 mxf: Use the UL database for some more ULs 2009-03-26 11:51:43 +01:00
Sebastian Dröge
a9f931c467 mxf: Remove some GLib < 2.14 compatibility stuff 2009-03-26 11:42:45 +01:00
Руслан Ижбулатов
f5b298e3d7 xdgmime: Link with winsock library to fix build with MinGW
Partially fixes bug #573595.
2009-03-26 11:33:50 +01:00
Руслан Ижбулатов
dafa530773 dccp: Port DCCP plugin to MinGW
Partially fixes bug #573595.
2009-03-26 11:32:08 +01:00
Sebastian Dröge
6f62242c5f Merge branch 'mxfmux' 2009-03-26 08:13:10 +01:00
Sebastian Dröge
e5caf2edda mxfmux: Cleanup 2009-03-26 08:12:02 +01:00
Sebastian Dröge
3b88dce4d1 mxfmux: Fix handling of buffers with more than one edit unit and EOS handling 2009-03-26 08:11:20 +01:00
Wim Taymans
6b2c55e254 selector: merge the tags
Merge the tags received on the input-selector sinkpads instead of only keeping
the last one we saw.
2009-03-24 15:23:03 +01:00
René Stadler
83016fa9dc aacparse: Fix busyloop when seeking. Fixes #575388
The problem is that after a discont, set_min_frame_size(1024) is called when
detect_stream returns FALSE. However, detect_stream calls check_adts_frame
which sets the frame size on its own to something larger than 1024. This is the
same situation as in the beginning, so the base class ends up calling
check_valid_frame in an endless loop.
2009-03-23 20:57:15 +02:00
René Stadler
3f90e6ff13 aacparse: Refactor check_valid_frame to expose broken code
Just moving code around and removing an unhelpful/misleading comment.
2009-03-23 20:57:15 +02:00
Wim Taymans
fcfc22f6f6 qtmux: fix includes for lseek
--
2009-03-23 17:07:16 +01:00
LRN
df124a0b28 win32: fix seeking in large files
Use _lseeki64() on Windows to seek in large files.
Fixes #576021.
2009-03-23 17:07:16 +01:00
Sebastian Dröge
da27eb2380 mxf: Move some static const variables into functions 2009-03-23 15:06:11 +01:00
Stefan Kost
a7a97b9139 Makefile.am: no static libs for plugins 2009-03-22 21:02:45 +02:00
Sebastian Dröge
2224a990a8 mxfmux: Fix error handling 2009-03-22 15:58:50 +01:00
Sebastian Dröge
effb5786da mxfmux: Fix some memory leaks, improve debugging and handle errors better 2009-03-22 15:51:37 +01:00
Sebastian Dröge
ddced37a8b mxfmux: Add an error state from which we return immediately
Also improve debugging a bit.
2009-03-22 15:35:42 +01:00
Sebastian Dröge
226f23edde mxf: Optimize mxf_ul_is_subclass() a bit 2009-03-21 10:19:49 +01:00
Sebastian Dröge
b409f71f49 mxf: Start implementing a central UL database and add some helper functions and use them 2009-03-21 10:19:49 +01:00
Sebastian Dröge
a19f0375ec mxfmux: Make sure to include a picture in the edit units when muxing MPEG2/MPEG4 2009-03-21 10:19:49 +01:00
Sebastian Dröge
992caf48ba mxfdemux: Remove accidentially committed g_assert_not_reached() 2009-03-21 10:19:49 +01:00
Sebastian Dröge
c6730cd223 mxf: Add support for muxing/demuxing subsampled YUV formats 2009-03-21 10:19:49 +01:00
Sebastian Dröge
c95ba980b2 mxfdemux: Use correct width/height for stride conversions 2009-03-21 10:19:49 +01:00
Sebastian Dröge
a31498d8d4 mxf: Implement stride transformations for raw video content for muxing and demuxing 2009-03-21 10:19:49 +01:00
Sebastian Dröge
b6bac882f9 mxfdemux: Simplify caps selection by using a lookup table 2009-03-21 10:19:49 +01:00
Sebastian Dröge
9aa16c2ea5 mxfmux: Add initial support for muxing raw picture essence 2009-03-21 10:19:48 +01:00
Sebastian Dröge
3d2f7c9ca0 mxfmux: Only add an essence container UL once to the partition and preface 2009-03-21 10:19:48 +01:00
Sebastian Dröge
1925b8e9f7 mxfdemux: Add support for AYUV and v308 YUV colorspaces 2009-03-21 10:19:48 +01:00
Sebastian Dröge
9fd64eee8d mxfmux: Use the correct edit rate instead of estimating it from the first buffer duration 2009-03-21 10:19:48 +01:00
Sebastian Dröge
6c126cbfdf mxfdemux: Error out directly if pushing a packet downstream failed 2009-03-21 10:19:48 +01:00
Sebastian Dröge
fc70fb1706 mxfmux: Add support for DV/DIF muxing and add framerate, etc to the caps when demuxing DV/DIF content 2009-03-21 10:19:48 +01:00
Sebastian Dröge
266736817d mxfmux: Add some debugging and error out on invalid input data 2009-03-21 10:19:48 +01:00
Sebastian Dröge
57ba515539 deinterlace: Fix uninitialized variable compiler warnings 2009-03-21 10:19:48 +01:00
Sebastian Dröge
c5c155884a mxfmux: Add support for muxing MPEG audio and video 2009-03-21 10:19:48 +01:00
Sebastian Dröge
28e4871217 mxfdemux: Use correct caps type for AC3 audio (audio/x-ac3 instead of audio/ac3) 2009-03-21 10:19:47 +01:00
Sebastian Dröge
654f0627e4 mxfmux: Add support for muxing JPEG2000 code streams 2009-03-21 10:19:47 +01:00
Sebastian Dröge
244c0a4707 mxfmux: Add support for muxing VC-3 (aka DNxHD) video 2009-03-21 10:19:47 +01:00
Sebastian Dröge
60d0dc07bf mxfmux: Add support for muxing A-Law audio 2009-03-21 10:19:47 +01:00
Sebastian Dröge
0a5dc919fb mxfmux: Add support for muxing raw audio 2009-03-21 10:19:47 +01:00
Sebastian Dröge
e50039897b mxf: Add MXF muxer
This muxer currently only supports OP1a and is
probably not yet 100% complying to the standards.
2009-03-21 10:19:47 +01:00
Jan Schmidt
cf4485133b mxfdemux: Fix build on GLib < 2.16 some more 2009-03-18 10:35:43 +00:00
Zaheer Merali
43117a8d86 mxf: Replace g_hash_table_get_values with code working with glib 2.6.
Fixes #575565
2009-03-16 17:33:45 +00:00
Tim-Philipp Müller
7a85af3ce6 xdgmime: make xdg typefinder more conservative
The whole raison d'etre of this typefinder is to help avoid false
positives when used in combination with our main typefinder in
-base. Its task is not really to typefind audio/video files, even
less so given that it detects *MIME* types, not GStreamer media
types. Therefore, if this typefinder detects an audio or video
type, don't even suggest it - our own typefinders are hopefully
better at this and detect the right type of type on top of that,
and even if they're not we really want to know about it and fix
it. Fixes #575157.
2009-03-13 22:53:21 +00:00
Wim Taymans
4bff4266d5 rtpbin: don't return FALSE on seek events
Silently ignore the seek event instead of returning FALSE.
2009-03-13 16:00:21 +01:00
Josep Torra
6cb429eb4f mpegpsdemux: workaround to fix playback of certain malformed clips
Added a workarround to permit play certain malformed clips where first
SCR is greater than last SCR. Fixes bug #454228
2009-03-13 10:07:18 +00:00
Josep Torra
bfdfc069aa mpegdemux: Fixed a bug in the TS scanner. Fixes #574009 2009-03-10 21:18:20 +01:00
Jan Schmidt
81a950ddf8 camerabin: Make the tests pass when the camerabin can't initialise.
The camerabin tests were throwing glib errors and hanging when
gst-plugins-good elements (jpegenc, videocrop) can't found.
2009-03-07 00:31:07 +00:00
Jan Schmidt
4814c3ca87 camerabin: Partly fix distcheck
Don't dist the generated marshal.h header by putting it in the headers
list.
2009-03-07 00:30:23 +00:00
Sebastian Dröge
6b51d475b5 mxfdemux: Store and use the seqnum of the currently running segment everywhere 2009-03-06 17:46:37 +01:00
Sebastian Dröge
424bb07965 mxf: Don't even try to serialize DM frameworks as it will cause an assertion until this is finished 2009-03-06 17:24:03 +01:00
Sebastian Dröge
b5e87b6517 mxf: Don't use NULL GstStructures to prevent warnings
Currently serializing of DM Frameworks is not supported
yet by DMS1 and will give us NULL.
2009-03-05 14:40:57 +01:00
Tim-Philipp Müller
3cfe16cc63 photography: declare interface as unstable API by means of a warning
Application developers won't know right away which module an interface comes from,
and may assume that it is covered by the usual GStreamer API guarantees, so make
it as clear as possible that this particular API is still subject to change
(should have done that with other libraries in -bad before too really).
2009-03-04 21:30:30 +00:00
Tim-Philipp Müller
c23834eab3 valve: rename plugin file from libfsvalve.* to libgstvalve.*
If you're running things uninstalled, you might need to manually
remove the registry to get the plugin's features to show up
correctly. Also, you probably want to do a make clean to get rid
of the old plugin file.
2009-03-04 20:41:10 +00:00
Edward Hervey
6a91eb2f48 gsreal: bring down the rank of the real decoders to MARGINAL.
Basically, at this point, the ffmpeg equivalent decoders perform way
better, so we'll make the ffmpeg equivalents PRIMARY and these
MARGINAL.
2009-03-04 20:02:04 +01:00
Josep Torra
ff1a6b4b22 mpegtsdemux: reset sync_lut_len to 0 on READY to NULL 2009-03-04 18:16:31 +00:00
Sebastian Pölsterl
12ac5763f9 mpegtsparse: fix memleak
Fix memleak in mpegts_packetizer_clear where MpegTSPacketizerStream is
not freed properly when using foreach_stream_clear function.
2009-03-03 19:08:28 +00:00
Josep Torra
84860befdf mpegtsdemux: dynamically adjust the sync LUT table
Make the sync LUT table adjusted dynamically according to the size
of scanned data. Fixes demuxing buffers of any size.
2009-03-03 18:28:10 +00:00
Olivier Crête
b02708a2f6 autoconvert: Import fsselector from gst-plugins-farsight as autoconvert
fsselector is too close to selector, so import is as autoconvert. Not importing
the history because the directory is also called gst/selector and it fails.
2009-03-03 18:53:11 +01:00
Edward Hervey
1068a40d6d qtmux: Be a bit more verbose in our debug message when failing to renegotiate 2009-03-03 10:12:34 +01:00
Sebastian Dröge
62dbf4b9bc mxfdemux: Use arrays instead of lists for the metadata registries 2009-03-02 17:00:41 +01:00
Sebastian Dröge
f429818589 xdgmime: Reduce probability to POSSIBLE 2009-03-02 16:29:01 +01:00
Sebastian Dröge
de61b45025 xdgmime: Add locking to the xdg_mime_* calls as it's not thread-safe 2009-03-02 16:27:55 +01:00
Sebastian Dröge
f957ee0aeb xdgmime: Use g_pattern_match_simple() instead of fnmatch() for Win32 compatibility 2009-03-01 20:18:30 +01:00
LRN
e571138ef6 xdgmime: Fix unused variable compiler warning 2009-03-01 20:13:31 +01:00
Sebastian Dröge
8c4584aa56 xdgmime: Don't warn if we have no MMAP support 2009-03-01 20:12:12 +01:00
Sebastian Dröge
39850d674e xdgmime: Use g_ntoh[ls] instead of the non-GLib functions for Win32 compatibility 2009-03-01 20:11:07 +01:00
Sebastian Dröge
b30926428d xdgmime: Use G_BYTE_ORDER instead of relying on LITTLE_ENDIAN to be defined 2009-03-01 20:09:24 +01:00
Tim-Philipp Müller
96a42c80d9 realdec: use gst_plugin_add_dependency() 2009-03-01 00:03:50 +00:00
Sebastian Dröge
ed72bba6a2 mxf: Fix memory leak
gst_structure_id_set() will copy GstStructures instead of taking
the ownership.
2009-02-28 20:42:49 +01:00
Sebastian Dröge
b5b2e44563 mxf: Store the metadata type ID inside the class structure 2009-02-28 20:39:42 +01:00
vanista
38dd0f6410 mpegtsdemux: Fix memory leaks when PUSI is missed due to packet loss
Fixes bug #573288.
2009-02-28 19:41:10 +01:00
Edward Hervey
38d3b76d1b nsf: Don't write further than the limits of the table (size is 75, as defined in the header)
gcc 4.3.3 found this one, I'm impressed.
2009-02-28 11:43:56 +01:00
Andrzej Polatyński
22a9d7577f videoanalyse: Fix brightness calculation to not only use the first rowstride
Fixes bug #573391.
2009-02-27 20:44:20 +01:00
Michael Smith
c0ad05cec4 mpeg4videoparse: Use correct values for checking VO startcode.
Fix compiler warning due to condition always being true - since we're
only looking at the final byte of the startcode (not the leading
0x000001), only check for < 0x1f, not < 0x11f
2009-02-27 11:36:58 -08:00
Sebastian Dröge
546bfbecb8 xdgmime: Use empty caps for registering the typefinders with old core versions
core before 0.10.22.1 produced assertions when storing typefind factories
with NULL caps in the registry.
2009-02-27 20:21:23 +01:00
Wim Taymans
41b65b421b mpeg4videoparse: handle more formats
We only need a Video Object Start code before we can start pushing out data.
Search for this code also instead of only looking for VOS and VOP.
Fixes #572551.
2009-02-27 13:08:15 +01:00
Stefan Kost
fab9dfa5d0 camerabin: rework signaling and tests
Revert the GString change. There are no marshallers for it. A better change is
now described in http://bugzilla.gnome.org/show_bug.cgi?id=573370.
Test should work again.
2009-02-27 12:35:14 +02:00
Stefan Kost
5f2d5aa5a5 baseparse: revert last change and properly fix
Baseparse internaly breaks the semantics of a _chain function by calling it with
buffer==NULL. The reson I belived it was okay to remove it was that there is
also an unchecked access to buffer later in _chain. Actually that code is wrong,
as it most probably wants to set discont on the outgoing buffer.
2009-02-27 12:27:14 +02:00
David Schleef
becb7fd02c Add v210 format 2009-02-26 12:49:03 -08:00
David Schleef
0964c00d2b Fix incorrect "pixel_aspect_ratio" in caps
Should be "pixel-aspect-ratio".
2009-02-26 12:49:03 -08:00
Olivier Crête
8961f43ec8 gstrtpbin: Don't forward revc events to sender
Don't send events from the receiver to the sender side.
Fixes #572900.
2009-02-26 13:10:29 +01:00
Stefan Kost
68cb1a84de baseparse: remove checks for buffer==NULL
Accordifn to docs for GstPadChainFunction buffer cannot be NULL. If we would
leave the check, we would also need more such check below.
2009-02-26 11:05:31 +02:00
Stefan Kost
53f975f63c docs: various doc fixes
No short-desc as we have them in the element details.
Also keep things (Makefile.am and sections.txt) sorted.
Reword ambigous returns. No text after since please.
2009-02-25 12:42:36 +02:00
Wim Taymans
9a0e1e0dca mpegdemux: don't ignore GstFlowReturn values
don't ignore the return value of pull_range because we only get a valid non-NULL
buffer when the return value is GST_FLOW_OK. Avoids a crash when the pipeline is
shutting down.
2009-02-25 11:34:45 +01:00
Stefan Kost
518d98899e camerabin: update signal marshaller and docs
Use GString instead of GPointer for the marshaller as this is what the callback uses.
Slightly reformat docs.
2009-02-25 11:41:36 +02:00
Lasse Laukkanen
c81bce2b21 camerabin: unblock correct pad in reset, support fakesink as view finder 2009-02-25 10:45:19 +02:00
Sebastian Dröge
ab1c576ec2 xdgmime: Add new typefinder based on xdgmime
This typefinder is mostly useful to filter out any false positives
by the other typefinders like the usual Word document misdetected as
MP3 file.
2009-02-24 15:26:27 +01:00
Edward Hervey
c2c1941ffc liveadder: Fix build on macosx 2009-02-23 15:25:03 +01:00
Lasse Laukkanen
bde8707b65 camerabin: Add aspect ratio capsfilter for view finder
If dealing with larger frame sizes than view finder sink element
accepts then maintain aspect ratio when scaling frames to fit.
2009-02-23 14:20:13 +02:00
Lasse Laukkanen
24d99bbe56 camerabin: Scale incoming frames if their size does not match requested size
If capture preparation in videosrc results in frame size different
from requested size, then we need to scale them.
2009-02-23 14:20:12 +02:00
Edward Hervey
6227900c71 dccp: Fix "non-void without return value" compilation issue. 2009-02-22 22:00:58 +01:00
Andoni Morales
7992233522 camerabin: Fix compilation on Windows with Visual Studio
Windows doesn't have strcasecmp so we should use
g_ascii_strcasecmp here instead.

Also Windows doesn't have sys/time.h so we first
need to check if it actually exists and if not
we should not include it.

Fixes bug #572315.
2009-02-22 18:41:08 +01:00
Olivier Crête
00a155333c Moved rtpmux from gst-p-farsight to -bad 2009-02-21 17:50:35 +01:00
Olivier Crête
ad4d98d70c Re-indent to Gst style 2009-02-21 17:48:57 +01:00
Olivier Crête
fe071273c4 [MOVED FROM GST-P-FARSIGHT] Document rtp muxer a bit 2009-02-21 17:48:57 +01:00
Laurent Glayal
0bff57a395 [MOVED FROM GST-P-FARSIGHT] Add signals before stream lock and after unlocking 2009-02-21 17:48:57 +01:00
Olivier Crête
a34534df79 [MOVED FROM GST-P-FARSIGHT] Let ssrc through getcaps 2009-02-21 17:48:57 +01:00
Olivier Crête
2c83849849 [MOVED FROM GST-P-FARSIGHT] Rename have_base to have_ts_base 2009-02-21 17:48:57 +01:00
Olivier Crête
7a222b560e [MOVED FROM GST-P-FARSIGHT] Protect the seqnum with object lock in rtpmux 2009-02-21 17:48:57 +01:00
Olivier Crête
d0c7c0fc6c [MOVED FROM GST-P-FARSIGHT] Remove unused sink_ts_base 2009-02-21 17:48:57 +01:00
Olivier Crête
f5a8eb59af [MOVED FROM GST-P-FARSIGHT] Have getcaps to force the same clockrate on all pads 2009-02-21 17:48:57 +01:00
Olivier Crête
44b6071bd7 [MOVED FROM GST-P-FARSIGHT] Validate RTP data in RTP Mux 2009-02-21 17:48:56 +01:00
Olivier Crête
4bfd3b4561 [MOVED FROM GST-P-FARSIGHT] Remove unused clock-rate property 2009-02-21 17:48:56 +01:00
Olivier Crête
10f623547f [MOVED FROM GST-P-FARSIGHT] Clarify locking in rtpdtmfmux 2009-02-21 17:48:56 +01:00
Laurent Glayal
31ba19c159 [MOVED FROM GST-P-FARSIGHT] Missing format parameter 2009-02-21 17:48:56 +01:00
Olivier Crête
a68ed1d223 [MOVED FROM GST-P-FARSIGHT] Remove .git-darcs-dir files 2009-02-21 17:48:56 +01:00
Håvard Graff
d5f589c82f [MOVED FROM GST-P-FARSIGHT] Update seqnum base in rtp muxer
With help from Wim
2009-02-21 17:48:56 +01:00
Håvard Graff
272f888d9c [MOVED FROM GST-P-FARSIGHT] Fix some more leaks 2009-02-21 17:48:56 +01:00
Håvard Graff
4749d03a1d [MOVED FROM GST-P-FARSIGHT] Fix leak 2009-02-21 17:48:56 +01:00
Olivier Crête
363861fac6 [MOVED FROM GST-P-FARSIGHT] Don't unref caps we don't know (thanks Wim) 2009-02-21 17:48:55 +01:00
Olivier Crête
9609426eda [MOVED FROM GST-P-FARSIGHT] Put per-buffer debug at level LOG 2009-02-21 17:48:55 +01:00
Olivier Crête
95ea8a98fb [MOVED FROM GST-P-FARSIGHT] Make debug print accurate 2009-02-21 17:48:55 +01:00
Olivier Crête
498635f9b1 [MOVED FROM GST-P-FARSIGHT] Set our caps on the buffers 2009-02-21 17:48:55 +01:00
Olivier Crête
fed3e1c5e8 [MOVED FROM GST-P-FARSIGHT] Take the clock-base stored from the last setcaps 2009-02-21 17:48:55 +01:00
Olivier Crête
1875f490c5 [MOVED FROM GST-P-FARSIGHT] Store the clock-base on setcaps 2009-02-21 17:48:55 +01:00
Olivier Crête
963cec9458 [MOVED FROM GST-P-FARSIGHT] Add padprivate to the request pads 2009-02-21 17:48:55 +01:00
Olivier Crête
4e110b544f [MOVED FROM GST-P-FARSIGHT] Remove whitespace in gstrtpmux 2009-02-21 17:48:55 +01:00
Olivier Crête
b2f71c2401 [MOVED FROM GST-P-FARSIGHT] Make indentation more correct 2009-02-21 17:48:54 +01:00
Olivier Crête
abbdf7c22f [MOVED FROM GST-P-FARSIGHT] Fix typo 2009-02-21 17:48:54 +01:00
Olivier Crête
38e339a135 [MOVED FROM GST-P-FARSIGHT] Set seqnum-base and clock-base in caps from rtpmuxer 2009-02-21 17:48:54 +01:00
Zeeshan Ali
0b710c450a [MOVED FROM GST-P-FARSIGHT] more debug
20070815135038-f3f1e-9c7a5490a525c6e8753cb1b8c03354df99132b5c.gz
2009-02-21 17:48:54 +01:00
philippe.kalaf@collabora.co.uk
2f4758bb95 [MOVED FROM GST-P-FARSIGHT] Sync jitterbuffer with CVS -bad
20070823212225-2425b-0fe69bf72539678dda45d615a09f1cbf502cc71a.gz
2009-02-21 17:48:54 +01:00
Youness Alaoui
03aa705cb3 [MOVED FROM GST-P-FARSIGHT] missing comment
20070820185032-4f0f6-0ab67b6ac40dd4e35a8fe53f3cb6daff65ce43b9.gz
2009-02-21 17:48:54 +01:00
Olivier Crete
620b63a407 [MOVED FROM GST-P-FARSIGHT] Make buffer writable before writing into it
20070712195336-3e2dc-91a5fb797cfa4919d4e2f9a728c6d6fbd3b83d93.gz
2009-02-21 17:48:54 +01:00
Olivier Crete
76fb00c0b1 [MOVED FROM GST-P-FARSIGHT] Set pads active when adding them to a potentially running element
20070706202459-3e2dc-a3731f885725594def0a7be997fc7b3a739ee967.gz
2009-02-21 17:48:54 +01:00
Olivier Crete
6750edd1d8 [MOVED FROM GST-P-FARSIGHT] Fix multiple ref leaks (patches by SP GLE)
20070607120121-3e2dc-061e9ef7a47b1b84fa8f8092f4b8bcc0e6db8c8c.gz
2009-02-21 17:48:53 +01:00
Zeeshan Ali
7d12ea7ba8 [MOVED FROM GST-P-FARSIGHT] send event to all src pads
20070528152505-f3f1e-039216c73dc93f64c49962c77a0253cb9cfec4d3.gz
2009-02-21 17:48:53 +01:00
Zeeshan Ali
1cbe838100 [MOVED FROM GST-P-FARSIGHT] print a warning if receive an error iterating sinkpads
20070528123749-f3f1e-4c1eb3f511b5610143610a65a94d117f2c3d2580.gz
2009-02-21 17:48:53 +01:00
Zeeshan Ali
5d86b44cd5 [MOVED FROM GST-P-FARSIGHT] deal with all the gst_iterator_next() return values
20070528122808-f3f1e-d301644c3be7633ec6dc5e28596e9346d2da6a50.gz
2009-02-21 17:48:53 +01:00
Zeeshan Ali
b6dc9f9bf2 [MOVED FROM GST-P-FARSIGHT] Return correct value from the event handler
20070525123116-f3f1e-131b37b5f4521618fe2f1320409a47e65b35ad2d.gz
2009-02-21 17:48:53 +01:00
Zeeshan Ali
30a1e01518 [MOVED FROM GST-P-FARSIGHT] Ville's original patch to fix the traversal of dtmf event
20070525102709-f3f1e-6c41d1ef934068a4f4e810e7e981b420075b0c98.gz
2009-02-21 17:48:53 +01:00
zeeshan.ali@nokia.com
8c4e0c21ce [MOVED FROM GST-P-FARSIGHT] Set the correct ts-offset on the get_prop value
20070329135250-65035-a43e222d91d57c0a61cb3287586aaa29abf78674.gz
2009-02-21 17:48:53 +01:00
zeeshan.ali@nokia.com
dd7639beb6 [MOVED FROM GST-P-FARSIGHT] Refactorize state_change
20070329135223-65035-23a0107b2e397710f035c6e88cc0e49b65bb4d5d.gz
2009-02-21 17:48:53 +01:00
zeeshan.ali@nokia.com
f224378822 [MOVED FROM GST-P-FARSIGHT] set SSRC on the packets
20070329133622-65035-1be6e0aa85a71389f7d257b9cd3e13a73d6b745b.gz
2009-02-21 17:48:53 +01:00
zeeshan.ali@nokia.com
67c77c8029 [MOVED FROM GST-P-FARSIGHT] Code clean-up and more debug output
20070329131936-65035-9d499e209e0d7a409c3aa0d1040778babf076179.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
c950d2323c [MOVED FROM GST-P-FARSIGHT] Use own clock-base
20070328112219-65035-1ba5fefbc65059e9b0c860528a31062ceb6a7331.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
45c083c2df [MOVED FROM GST-P-FARSIGHT] Only accept RTP streams that have the same clock-rate
20070323163139-65035-fc0b17b0b8a7a041f48994c4f26e96568168bf95.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
a7afa08394 [MOVED FROM GST-P-FARSIGHT] Some more code-cleanups
20070322161552-65035-bda96165e146b4f1d5fea1cc9576a7ab3abebc9e.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
7b99c695aa [MOVED FROM GST-P-FARSIGHT] return newpad instead of NULL and warn if failed to create a pad
20070322154251-65035-cdb6651e61c2eb0205cc8c24693b43f98a2da718.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
c3232e2f49 [MOVED FROM GST-P-FARSIGHT] Refactorize the RTPMux code
20070322124132-65035-0a3278147546e33f687097a43b775b3f6aa99f93.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
c9496c7294 [MOVED FROM GST-P-FARSIGHT] Some more doc fixing
20070322121453-65035-12d602272217b51bd97df4e5790024c399622dd3.gz
2009-02-21 17:48:52 +01:00
zeeshan.ali@nokia.com
c1bb36b5a3 [MOVED FROM GST-P-FARSIGHT] More Refactoring
20070322113228-65035-bae34a79599e7de5293ed77b022361ccff822bb9.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
750462f540 [MOVED FROM GST-P-FARSIGHT] More documentation
20070322113154-65035-624850541a5b5fc3df231204be5a83d07239db28.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
1cf3b17cb3 [MOVED FROM GST-P-FARSIGHT] Refactor the event handler function
20070321163311-65035-987e7f25d1ab5335b79f44b277abf15e4e37d317.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
66888a6a82 [MOVED FROM GST-P-FARSIGHT] Add RTPDTMFMux element
20070321145244-65035-9a01390b0dee3398e53199a1fa1d9352004f338e.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
35e62745df [MOVED FROM GST-P-FARSIGHT] Remove DTMF-specific code from RTP muxer and make it extendable
20070321123149-65035-b8a8f55ff78eed8cbb0042e827885edfc5438242.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
c68fba6698 [MOVED FROM GST-P-FARSIGHT] Put more helpful description
20070320120524-65035-db27a7cf6307b511aeb3d996d26e790e367a7bad.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
e38c84f1b5 [MOVED FROM GST-P-FARSIGHT] remove the (commented-out) code for blocking the pads
20070316151641-65035-0123af387951f88594797c722e882cfe70240aff.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
46b4fb228b [MOVED FROM GST-P-FARSIGHT] Drop buffers instead of blocking the sinkpads
20070316131444-65035-9c1345ad96108881f455d4b55a7f623cd302d0ed.gz
2009-02-21 17:48:51 +01:00
zeeshan.ali@nokia.com
df902798c3 [MOVED FROM GST-P-FARSIGHT] Implement stream locking, needed for DTMF
20070314171618-65035-e4d24b1606ce0a3e2e739f01833f61e4d7555eac.gz
2009-02-21 17:48:50 +01:00
zeeshan.ali@nokia.com
eebdce6650 [MOVED FROM GST-P-FARSIGHT] use GST_*_OBJECT instead of g_*
20070314102058-65035-e2442888f2e3e5a3a7659ad7954a4fba34749ce2.gz
2009-02-21 17:48:50 +01:00
zeeshan.ali@nokia.com
207a222c0c [MOVED FROM GST-P-FARSIGHT] No need to manage pads, parent does that for us
20070314101854-65035-ef5f4abde227102a1128835ab325905eae4c3726.gz
2009-02-21 17:48:50 +01:00
zeenix@gmail.com
40a5730713 [MOVED FROM GST-P-FARSIGHT] Fix copyright header
20070314090358-d014a-3a6d3eeeaaf5cb8ca3bca6a33e99a551f598bd48.gz
2009-02-21 17:48:50 +01:00
zeeshan.ali@nokia.com
fbcfa441dc [MOVED FROM GST-P-FARSIGHT] The first implementation of RTP muxer
20070307085307-65035-833402413f99cb3f8be4883e92bad4c8722510c9.gz
2009-02-21 17:48:50 +01:00
Olivier Crête
a6d1d53de0 Document rtpdtmfdepay a bit 2009-02-21 17:48:08 +01:00
Olivier Crête
0df90ed395 Moved dtmf elements from gst-plugins-farsight to -bad 2009-02-21 17:48:08 +01:00
Olivier Crête
bda90f1977 Fix up documentation blobs SGML 2009-02-21 17:48:08 +01:00
Olivier Crête
8d6d58e94e Re-indent to Gst style 2009-02-21 17:48:07 +01:00
Laurent Glayal
edca624b55 [MOVED FROM GST-P-FARSIGHT] Missing format directive 2009-02-21 17:48:07 +01:00
Olivier Crête
81aa0ce103 [MOVED FROM GST-P-FARSIGHT] Allow setting a maximum duration to a RTP DTMF event 2009-02-21 17:48:07 +01:00
Olivier Crête
6b42ee6ae1 [MOVED FROM GST-P-FARSIGHT] Improve the minimum quanta to make it impossible for the duration to fall down to 0 2009-02-21 17:48:07 +01:00
Olivier Crête
1468b2e2b0 [MOVED FROM GST-P-FARSIGHT] Allow setting a minimum size of a sound quanta in the dtmf depayloader 2009-02-21 17:48:07 +01:00
Olivier Crête
3f7d5d70a8 [MOVED FROM GST-P-FARSIGHT] Remove .git-darcs-dir files 2009-02-21 17:48:07 +01:00
Håvard Graff
89cbf4fc96 [MOVED FROM GST-P-FARSIGHT] Do wierd casting of the volume to make MSVC happy 2009-02-21 17:48:07 +01:00
Olivier Crête
a5c79750c4 [MOVED FROM GST-P-FARSIGHT] Clarify the documentation of the "event-type" field when specifying dtmf events 2009-02-21 17:48:07 +01:00
Olivier Crete
88578d09c3 [MOVED FROM GST-P-FARSIGHT] Remove g_debugs
20080722213938-3e2dc-44a82d017fe66f3112301c410aa0b543de6156ad.gz
2009-02-21 17:48:06 +01:00
Olivier Crete
d106cd7bcd [MOVED FROM GST-P-FARSIGHT] Take rate from the peers caps if possible
20080613235723-3e2dc-15690ee42708c539e1be12e20e076a5613faea96.gz
2009-02-21 17:48:06 +01:00
Olivier Crete
b81a072d49 [MOVED FROM GST-P-FARSIGHT] Put the sample rate in dtmfsrc into a variable
20080613234144-3e2dc-e60070943bec829b703b8821c7aa4351a02deebe.gz
2009-02-21 17:48:06 +01:00
Olivier Crete
dd8d949bd9 [MOVED FROM GST-P-FARSIGHT] Take the clock-rate from the caps in rtpdtmfsrc
20080613233006-3e2dc-a7d4e918643f4f8c1bb2cc2678558c654025920e.gz
2009-02-21 17:48:05 +01:00
Olivier Crete
bcba873b29 [MOVED FROM GST-P-FARSIGHT] Link modules with libm where required
20080428222237-3e2dc-b1e9120c1e9ca1a510bfd7c27e2d45f0d4a12504.gz
2009-02-21 17:48:05 +01:00
Youness Alaoui
7eb75b4f35 [MOVED FROM GST-P-FARSIGHT] Fix byte ordering issues with dtmfsrc and rtpdtmfdepay.. use of G_STRINGIFY to avoid error on MSVC
20080412234418-4f0f6-4828d1613dfcd564afd236dfc8fb57a299092f83.gz
2009-02-21 17:48:05 +01:00
Youness Alaoui
0eb574f745 [MOVED FROM GST-P-FARSIGHT] Fix copyrights again, per smcv's advice..
20080320191438-4f0f6-671c9db5d996a4601df017ceab4af6d16469c966.gz
2009-02-21 17:48:05 +01:00
Olivier Crete
b83757155e [MOVED FROM GST-P-FARSIGHT] Make it clear that dtmfsrc also takes named events as input
20080319211731-3e2dc-26c729f6dc8db27e71cf6b22646a81530dbf862f.gz
2009-02-21 17:48:05 +01:00
Youness Alaoui
9681c48d07 [MOVED FROM GST-P-FARSIGHT] debug message made into errors because that's what they are...
20080320184841-4f0f6-8a2d283297b02713dade0ae4acaa5f6e0f67eace.gz
2009-02-21 17:48:05 +01:00
Youness Alaoui
4a20b33543 [MOVED FROM GST-P-FARSIGHT] Clean unused stuff...
20080320183937-4f0f6-bcb841cdc07f9e9677512f4b50b4b659a58c6783.gz
2009-02-21 17:48:05 +01:00
Youness Alaoui
5d23218c0c [MOVED FROM GST-P-FARSIGHT] Fix copyrights
20080320183912-4f0f6-689365d5a406632e3d088fac74e4fb6f8a4eb0ea.gz
2009-02-21 17:48:05 +01:00
Youness Alaoui
8cbaa9f78e [MOVED FROM GST-P-FARSIGHT] Adding support for rtpdtmfdepay
20080320011301-4f0f6-d36a5d24be20336e36c4796d75476c9b5ee1a7e1.gz
2009-02-21 17:48:04 +01:00
Olivier Crete
3f8af94593 [MOVED FROM GST-P-FARSIGHT] encoding name has to be upper-case
20080319193251-3e2dc-1581b33be9b486e35ec4948009677ccd5ffdc098.gz
2009-02-21 17:48:04 +01:00
Youness Alaoui
0af41631f2 [MOVED FROM GST-P-FARSIGHT] Adding necessary files for rtpdtmfdepay
20080320005147-4f0f6-550fe22f70152f3aab3dcd7a6b02cbf81e89232d.gz
2009-02-21 17:48:04 +01:00
Youness Alaoui
02b94191b8 [MOVED FROM GST-P-FARSIGHT] Fix typos
20080320005041-4f0f6-9d22fa5d155e35b605ea85b1fd9e7197a882a1f0.gz
2009-02-21 17:48:04 +01:00
Sjoerd Simons
c40557df72 [MOVED FROM GST-P-FARSIGHT] dtmfsrc: Correctly set the endianess in the caps to the machines endianess
20080216134140-93b9a-40a3a9d7ac1679c5e0dfd24a6b91e4aba6cc6496.gz
2009-02-21 17:48:04 +01:00
Olivier Crete
37f9c1efdb [MOVED FROM GST-P-FARSIGHT] Search&Replace oops
20070917175233-3e2dc-57f579c4b890993f49fa8e9e6470a3eb79d2b922.gz
2009-02-21 17:48:04 +01:00
Olivier Crete
8d2d39a3a6 [MOVED FROM GST-P-FARSIGHT] events dont yet belong in the caps
20070917175133-3e2dc-fd1d83b7826b898110fc571ae7c3440f1887434d.gz
2009-02-21 17:48:04 +01:00
Olivier Crete
8332521121 [MOVED FROM GST-P-FARSIGHT] Add patch to make it work with maemo dsp sources that payload incorrectly
20070917160820-3e2dc-06b1b1d1b0918b30dabea5a0714cb732b3b8d8dd.gz
2009-02-21 17:48:04 +01:00
Olivier Crete
908f5167ae [MOVED FROM GST-P-FARSIGHT] Oops, set to no preroll when playing->paused too
20070917042649-3e2dc-94adb6aa0617e815a6e233232dabb4bbc48dc82c.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
90a23de629 [MOVED FROM GST-P-FARSIGHT] Complete port to basesrc
20070917003654-3e2dc-db0f84dabd9dd1ac929a0461865b8aaa8ef91a77.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
dccfa004de [MOVED FROM GST-P-FARSIGHT] Add caps negotiation function
20070917002412-3e2dc-ca266816e9629746e9083c5bb8b7f73b94a9b2b0.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
244585496b [MOVED FROM GST-P-FARSIGHT] Properly free non-start events
20070917001659-3e2dc-a571777e3ecfb90989f87412f554aa10a31cc2ca.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
95eef52a77 [MOVED FROM GST-P-FARSIGHT] Make interval and packet_redundancy into uint
20070917001552-3e2dc-60032e547b3669b87317c981d985c156aab91b40.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
34d6733bd5 [MOVED FROM GST-P-FARSIGHT] Make the rtp dtmf src use basesrc
20070916194408-3e2dc-734000130dce2434a014acf843d641ff0e60aa5a.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
64efe461ff [MOVED FROM GST-P-FARSIGHT] Make dtmf src code nicer
20070916194101-3e2dc-a8be8c509c65400d1d3962da02e67d15d2054316.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
8c5930fadb [MOVED FROM GST-P-FARSIGHT] Remove unused directory
20070916194052-3e2dc-44d7f4cb2f220761b65e2b9b6cec4b3c6f8be7c5.gz
2009-02-21 17:48:03 +01:00
Olivier Crete
7efc94bc12 [MOVED FROM GST-P-FARSIGHT] Implement stopping in a nice thread safe way
20070914042042-3e2dc-1fe257ff4b72aca4b0eb5f285a14650b8df268c3.gz
2009-02-21 17:48:02 +01:00
Olivier Crete
f518316253 [MOVED FROM GST-P-FARSIGHT] Remove get_times (Wim says its only good for really fake sources)
20070914041834-3e2dc-fff4d5da2a145f19e7b610a1027d2c4d4bc5eae0.gz
2009-02-21 17:48:02 +01:00
Youness Alaoui
264d6779ab [MOVED FROM GST-P-FARSIGHT] using the unlock method of basesrc
20070913212145-4f0f6-0e438a681bf1651c0cc0d8fa3269aed3f1668b6b.gz
2009-02-21 17:48:02 +01:00
Youness Alaoui
52d99a398c [MOVED FROM GST-P-FARSIGHT] more debug
20070913211226-4f0f6-bc32b5828fc8e0323c8a6eee779a38145aacd593.gz
2009-02-21 17:48:02 +01:00
Youness Alaoui
a88f8d3310 [MOVED FROM GST-P-FARSIGHT] added debugs
20070913204614-4f0f6-68c2a69ae7a1efca6e13c116dbad7f9b686f0242.gz
2009-02-21 17:48:02 +01:00
Youness Alaoui
4a11ad9df0 [MOVED FROM GST-P-FARSIGHT] Make sure to unlock the thread when going to ready and to flush the queue when moving to paused or playing
20070913192053-4f0f6-76c3925380d1a30988286170535a65dea64a5583.gz
2009-02-21 17:48:02 +01:00
Youness Alaoui
854773d724 [MOVED FROM GST-P-FARSIGHT] Changed dtmfsrc into a subclass of GstBaseSrc
20070913175520-4f0f6-16ca4bf93690072f3e836d1c8a5b52cf7a421916.gz
2009-02-21 17:48:02 +01:00
Youness Alaoui
4eab02230d [MOVED FROM GST-P-FARSIGHT] Add another fix for a possible race condition
20070904225753-4f0f6-5ba8c4260c002bb27eb98e9faba3c15799357b57.gz
2009-02-21 17:48:02 +01:00
Olivier Crete
9c5331b747 [MOVED FROM GST-P-FARSIGHT] Add comment to explain push back
20070904215224-3e2dc-d92ac1f403dcf571546a7c53f18809f840eea51d.gz
2009-02-21 17:48:01 +01:00
Olivier Crete
695cecd229 [MOVED FROM GST-P-FARSIGHT] Properly do the locking to avoid race conditions with clock unscheduling
20070904205509-3e2dc-da19900b51af6aedb6547f4f392bef4d1061dec2.gz
2009-02-21 17:48:01 +01:00
Youness Alaoui
483a557e93 [MOVED FROM GST-P-FARSIGHT] oups, I did it again...
20070901000324-4f0f6-3d8b46691ee520537b06c511a5e732f5b812b844.gz
2009-02-21 17:48:01 +01:00
Youness Alaoui
e8f12dce64 [MOVED FROM GST-P-FARSIGHT] oups, sorry.. DTMF, not RTP_DTMF for this file...
20070831235428-4f0f6-00b606bfb4892e4f217c440b611cc794ab0de55a.gz
2009-02-21 17:48:01 +01:00
Youness Alaoui
886a695daa [MOVED FROM GST-P-FARSIGHT] Fixes the deadlock when pausing the dtmfsrc and rtpdtmfsrc. Had to push something on the async queue to release the blocking async_queue_pop(). Thanks to Olivier for the solution.
20070831234413-4f0f6-793cf35fc43636e7275258cc7063fc068f5efa0a.gz
2009-02-21 17:48:01 +01:00
Youness Alaoui
102570fe4d [MOVED FROM GST-P-FARSIGHT] ClockID when waiting for buffer is now unscheduled when stopping the task. Various fixes to avoid bugs (thanks to -Wall -Werror). Fixes to allow the merge of the branch.
20070828221534-4f0f6-b0d6a4fe48c4e2a16b9ff69cb310087c970ce48e.gz
2009-02-21 17:48:01 +01:00
Youness Alaoui
608175845d [MOVED FROM GST-P-FARSIGHT] Cleaned up the code a bit, no use of GST_* and return value verification from gst_*
20070828171546-4f0f6-bdeb4b1b7f99f9464aabe5c43bd4a4d2025262b6.gz
2009-02-21 17:48:01 +01:00
Olivier Crete
a0beb104de [MOVED FROM GST-P-FARSIGHT] Fix overly long lines and tabs
20070827195610-3e2dc-396a3fa01e16f184e4109c71fe2deb6e516bdf0d.gz
2009-02-21 17:48:01 +01:00
Youness Alaoui
58ec497deb [MOVED FROM GST-P-FARSIGHT] untabbified dtmfsrc
20070827192618-4f0f6-77d68070464f1b5f9a46cb6eec2d922340143c04.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
87c552ae2b [MOVED FROM GST-P-FARSIGHT] Fix RTP timestamps by sending a new_segment event to the payloader
20070827172424-4f0f6-d20907e3d436d50bfe74eb4fc3d2d6d7b6b6dbc5.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
b8550c20c0 [MOVED FROM GST-P-FARSIGHT] Better handling of packets, we send the same duration for all packets to avoid huge packets when min duration defines are modified.
20070827172339-4f0f6-cc93304437ea376fff6458c74c46c19f6920d329.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
b65d589469 [MOVED FROM GST-P-FARSIGHT] Changing minimum values to work better on some gateways
20070827172322-4f0f6-5bf2bffa59a8244538dced795fa7d7649452ca91.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
71b9b27c29 [MOVED FROM GST-P-FARSIGHT] The DTMF tone generator now respects the volume argument passed in the event
20070822201653-4f0f6-8b7ff874006e11f5a74d0fd91e5a9a43cd082ada.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
aae79855ca [MOVED FROM GST-P-FARSIGHT] don't know why I did that...
20070822180133-4f0f6-6a7382f6c7d3630f91da384e1904763c7ea6fa1a.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
459f5c944e [MOVED FROM GST-P-FARSIGHT] Ported the event queue work from dtmfsrc to rtpdtmfsrc
Added a queue based system for the rtpdtmfsrc. Now it waits for start/stop messages on the queue, and makes sure that the minimum duty cycle (120ms) is respected between each
tone, including inter-digit silence.

20070822175533-4f0f6-f27414c406f1f7b00c9a9084a988cf3a7930fe5c.gz
2009-02-21 17:48:00 +01:00
Youness Alaoui
ca2f737659 [MOVED FROM GST-P-FARSIGHT] ouch, printing with arguments but without %s.. that made it segfault a few times...
20070822175444-4f0f6-445ea6ce7a9668d04cf999af772a504ec74fb67a.gz
2009-02-21 17:47:59 +01:00
Youness Alaoui
7e0aec2c94 [MOVED FROM GST-P-FARSIGHT] Moved the timestamp from the event to dtmfsrc structure since we have only one event at a time, so let's keep it stored in the dtmfsrc struct
20070822175126-4f0f6-53bcda2bd8ae8c56d29e62e69ac19a30e08ad350.gz
2009-02-21 17:47:59 +01:00
Youness Alaoui
7b9a2fd4ff [MOVED FROM GST-P-FARSIGHT] Added a queue based system for the dtmfsrc. Now it waits for start/stop messages on the queue, and makes sure that the minimum duty cycle (120ms) is respected between each tone, including inter-digit silence.
20070820203826-4f0f6-750a22b612a5e495e767666934465c34fe32074b.gz
2009-02-21 17:47:59 +01:00
Youness Alaoui
2a45c1b9d4 [MOVED FROM GST-P-FARSIGHT] Added dtmfsrc, a DTMF Tone Generator, and made it part of the 'dtmf' plugin.
20070820184852-4f0f6-a0d85e67708290aebafa89ab79d3cedd5815b620.gz
2009-02-21 17:47:59 +01:00
Youness Alaoui
0127d7b6e5 [MOVED FROM GST-P-FARSIGHT] Moved rtpdtmf to dtmf directory
20070820184800-4f0f6-fa33ea974510161de8c9951c39087af3613b65a4.gz
2009-02-21 17:47:59 +01:00
Olivier Crete
7a887a5187 [MOVED FROM GST-P-FARSIGHT] Send all packet from the streaming thread, including the last one
20070712195715-3e2dc-6848c70a7f0137c91fa882a8efb6dbf83891ae13.gz
2009-02-21 17:47:59 +01:00
Olivier Crete
074189363e [MOVED FROM GST-P-FARSIGHT] Put non-zero duration in first packet and put a minimum duration of 50ms
20070712195528-3e2dc-d46edeaab84fb55e74842bdcf4f8792dfcdb0457.gz
2009-02-21 17:47:59 +01:00
Olivier Crete
230ee96a32 [MOVED FROM GST-P-FARSIGHT] Fix RTP timestamp on dtmf packets
20070712162328-3e2dc-98c1303f4a52b891ce59bf88e07d29f4e2dfc974.gz
2009-02-21 17:47:59 +01:00
Olivier Crete
6a6a0b0755 [MOVED FROM GST-P-FARSIGHT] Only set marker on very first packet of an event
20070711155202-3e2dc-f7ea3abd2cb0ca2937ea4508e6e301baaa6e2154.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
3905482b3f [MOVED FROM GST-P-FARSIGHT] Send on packet start time
20070711155157-3e2dc-ee0e9fc13d35296593005267a2417dd65e790d29.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
2c955bfad3 [MOVED FROM GST-P-FARSIGHT] RTP timestamp is the time of the beginning of the dtmf event
20070711155056-3e2dc-cb5cda73fbf7df1c545cb0321b0e339914c5897f.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
9fe41ae280 [MOVED FROM GST-P-FARSIGHT] 80 column is enough for everyone
20070424200252-3e2dc-d1bc17266afff2599129a25d44338062372f7ea3.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
2a8042fa72 [MOVED FROM GST-P-FARSIGHT] Add redundancy and interval properties to rtpdtmfsrc (patch by SP GLE <spglegle@yahoo.fr>)
20070424193155-3e2dc-66688001e7b529c46f108633cd9520347c3c8c3e.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
eb74905991 [MOVED FROM GST-P-FARSIGHT] Only send dtmf if the method is unspecified or is 1
20070504195251-3e2dc-b95b4b8e8dad87962cf39ec2ee67b6f1b619e9bd.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
18344ae7b2 [MOVED FROM GST-P-FARSIGHT] Make documentation consistent with itself
20070308223559-3e2dc-cc20fe571370bc51bf963cc3df1b8ab4a3ddc20b.gz
2009-02-21 17:47:58 +01:00
Olivier Crete
516f1cb727 [MOVED FROM GST-P-FARSIGHT] Use segment to calculate dtmfsrc rtp timestamp
20070412200435-3e2dc-b5cc26b12b6e8b89f131fd27f0e4627746e85697.gz
2009-02-21 17:47:58 +01:00
zeeshan.ali@nokia.com
50dbdcc4e1 [MOVED FROM GST-P-FARSIGHT] Clean-up and refactorize dtmfsrc code
20070402124635-65035-3d13244461c1dd1fcc96b74124ad7a74d2ff0144.gz
2009-02-21 17:47:57 +01:00
Olivier Crete
f7d6d695aa [MOVED FROM GST-P-FARSIGHT] Ooops, little typo
20070330154303-3e2dc-9f6edcde24d30caea8ea876b24a3a680d40b2ea1.gz
2009-02-21 17:47:57 +01:00
Olivier Crete
e32fcbe2b0 [MOVED FROM GST-P-FARSIGHT] Make it generate the proper rtp timestamps in sync with the live source
20070330001700-3e2dc-bbf954e4edec0615c4eee603fbc6ab8a7d89436f.gz
2009-02-21 17:47:57 +01:00
zeeshan.ali@nokia.com
44328d3355 [MOVED FROM GST-P-FARSIGHT] Increment the ts after setting the buffer's ts
20070329114257-65035-c8686ab4ce20b1f36f3dac120485ade5cd90aac9.gz
2009-02-21 17:47:57 +01:00
zeeshan.ali@nokia.com
f1609fe6e2 [MOVED FROM GST-P-FARSIGHT] Calculate the rtp ts before gst ts get incremented
20070329103946-65035-f74e3a0140c57e941444bb837d6053ad1c3cf567.gz
2009-02-21 17:47:57 +01:00
zeeshan.ali@nokia.com
e158fabe85 [MOVED FROM GST-P-FARSIGHT] Some code-cleanup
20070329103904-65035-db08cc7c3098b60a556d3809de912cd0e1a545c1.gz
2009-02-21 17:47:57 +01:00
zeeshan.ali@nokia.com
e8c927e9f5 [MOVED FROM GST-P-FARSIGHT] Initialize the GstSegment at the right time
20070329103824-65035-9ab3a0a03c5f9329cd4625ae6567c2c1fd4a73d8.gz
2009-02-21 17:47:57 +01:00
zeeshan.ali@nokia.com
109b232e55 [MOVED FROM GST-P-FARSIGHT] Call set_caps when we have all the params
20070326105712-65035-3e3dfce0b50d61eafda846bee0a6d66c3541c6ed.gz
2009-02-21 17:47:57 +01:00
zeeshan.ali@nokia.com
ffe20dee18 [MOVED FROM GST-P-FARSIGHT] Set caps on the buffer before pushing it
20070323162922-65035-9e4be5449c79c0a459965ee07adb4a8143c4c1d5.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
19e3f39751 [MOVED FROM GST-P-FARSIGHT] Request for stream lock when generating DTMF packets
20070314171756-65035-0b497dfac203ff4f579525485d5804e5f5093b3f.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
8806b93151 [MOVED FROM GST-P-FARSIGHT] Correct caps printout
20070307114109-65035-124202884918a9c8a803080d6967234539d24b97.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
b6c3f86355 [MOVED FROM GST-P-FARSIGHT] Add doc-section comments
20070216120606-65035-6e7d28721dc0872f3f55ba7ccd4fed3d66f8175f.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
24659a3131 [MOVED FROM GST-P-FARSIGHT] Add copyrights
20070215134853-65035-50fe5f8e999ae86a1e3ba0dbdece4911eb9dcca0.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
2be160c741 [MOVED FROM GST-P-FARSIGHT] No need to handle downstream events
20070215133536-65035-648b791d404bf06900bd2698d925117c89743db9.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
221be0ea06 [MOVED FROM GST-P-FARSIGHT] Attempt to correct event handling
20070215122655-65035-47070d9a28c08d9353b04d2d9301e29b7ee72b83.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
04413fffc2 [MOVED FROM GST-P-FARSIGHT] Use pause_task instead of stop_task to avoid any possible deadlocks
20070215102629-65035-a48c773661e385a91e022e0ac1da0862c4206f85.gz
2009-02-21 17:47:56 +01:00
zeeshan.ali@nokia.com
b392c5041d [MOVED FROM GST-P-FARSIGHT] Put correct seq and timestamps on the packets
20070215101030-65035-7146a3c4a8d0feab513d13a207b2cdc5de311f03.gz
2009-02-21 17:47:55 +01:00
zeeshan.ali@nokia.com
1ae11d7b6f [MOVED FROM GST-P-FARSIGHT] Fix the copyright notice
20070214135501-65035-e90753b1f6525f7b9c0ac2eb7e40cef7ca673e68.gz
2009-02-21 17:47:55 +01:00
zeeshan.ali@nokia.com
c48a4e1734 [MOVED FROM GST-P-FARSIGHT] Add RTP DTMF event packet generator element and test app for it
20070214131352-65035-3c14a1047c3cd6696f3a716a62b21d3f4b9da62b.gz
2009-02-21 17:47:55 +01:00
Sebastian Dröge
b7f617ad58 mxfdemux: Add read-only property to get the structural metadata 2009-02-21 17:45:09 +01:00
Sebastian Dröge
a0951a630b mxfdemux: Add MPEG video bitrate to the tags if available 2009-02-21 17:40:01 +01:00
Sebastian Dröge
acc6a316ce mxfdemux: Post structural metadata tree as tag on the bus
This will later be used to keep the structural metadata when
remuxing an MXF file and can also be used in Pitivi for example
to know the file structure and to select what should be used
and played.
2009-02-21 17:38:49 +01:00
Sebastian Dröge
a9461b9818 mxfdemux: Fix calculation of AES3 bitrate tag 2009-02-21 16:16:32 +01:00
Sebastian Dröge
636b535e4a mxfdemux: Add helper function to convert MXFraction to gdouble and use it 2009-02-21 16:16:32 +01:00
Sebastian Dröge
8172830d47 mxfdemux: Only store the main descriptor in source packages
For the tracks we still resolve the descriptors but the
source package only contains the descriptor it really references
instead of all subdescriptors of multiple descriptors.

This makes it easier later to serialize the structural metadata
again.
2009-02-21 16:16:32 +01:00
Sebastian Dröge
e11f0be161 mxfdemux: Set free'd memory to NULL to prevent a double free later in some cases 2009-02-21 16:16:32 +01:00
Sebastian Dröge
2a93712ea1 mxfdemux: Don't use generic metadata parsers for unknown metadata, the results are useless anyway 2009-02-21 16:16:32 +01:00
Zaheer Merali
571d51ac92 mpegtsdemux: s/fluts/mpegts
Change all definitions from fluts to mpegts.
2009-02-19 11:36:45 +00:00
Olivier Crête
a4ed8c5d96 Document the GstValve 2009-02-17 19:29:59 +01:00
Olivier Crête
f00727f39a Rename fsvalve to valve 2009-02-17 19:29:59 +01:00
Olivier Crête
d1c9b30ada Re-indent valve in gst style 2009-02-17 19:29:59 +01:00
Olivier Crête
06b1c78ade [MOVED FROM GST-P-FARSIGHT] Ignore errors if dropping is set to true 2009-02-17 19:29:59 +01:00
Olivier Crête
baa5d1eacf [MOVED FROM GST-P-FARSIGHT] Remove .git-darcs-dir files 2009-02-17 19:29:59 +01:00
Olivier Crête
1367a3a3bc [MOVED FROM GST-P-FARSIGHT] Add getcaps proxying to the valve 2009-02-17 19:29:59 +01:00
Olivier Crête
907a660cdc [MOVED FROM GST-P-FARSIGHT] Rebase valve onto gstelement instead of basetransform 2009-02-17 19:29:59 +01:00
Olivier Crête
e97d7d9b04 [MOVED FROM GST-P-FARSIGHT] Revert "Fix refcounting issues in prepare_output_buffer"
This reverts commit 65dd460f0a3a9c4882e638c86208f74ef62c3460.
2009-02-17 19:29:59 +01:00
sjoerd@luon.net
d2a43636b9 [MOVED FROM GST-P-FARSIGHT] Fix refcounting issues in prepare_output_buffer
20080805113057-be0f2-9dc270781f0a0f21c616ed11dbd1f198fd1b326e.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
c7d7a158cb [MOVED FROM GST-P-FARSIGHT] Remove unused dispose method in valve
20080409163221-3e2dc-92ccb2db874e46e0d92c15520577c1be0e2bc617.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
6891140340 [MOVED FROM GST-P-FARSIGHT] Dont hold the object lock while calling base alloc function
20071219203230-3e2dc-6519175d8d81496515b2d9060ac316650560f691.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
ecc7dbcc77 [MOVED FROM GST-P-FARSIGHT] Set the DISCONT flag after dropping buffers
20071219203218-3e2dc-bc5f03d88ff5837040b9214de016cc142776dfc2.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
ee9906672b [MOVED FROM GST-P-FARSIGHT] Use do the alloc_buffer function in the valve
20071219005739-3e2dc-2a0fdfa2f38f03ab4791fe5c4ab85e8790113683.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
8d8c9adf30 [MOVED FROM GST-P-FARSIGHT] Only set passthrough to TRUE on newer versions of gst
20071121200858-3e2dc-b16cdeabbc3c0562c6fc7b11b9b9792c910f569e.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
f6fb98f627 [MOVED FROM GST-P-FARSIGHT] Compare minor, not major
20071121181729-3e2dc-a5997c3b7f5c86966370969714facf8ee242659d.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
17639a3e82 [MOVED FROM GST-P-FARSIGHT] Make the valve element work with gst < 0.10.13
20071026223749-3e2dc-18f685a4e45fbdce677ac777586876fc719d7222.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
a37867ecf0 [MOVED FROM GST-P-FARSIGHT] Rename valve to fsvalve
20071024224246-3e2dc-c54216af2ef0ef3f1a2206d723e87be2a23ab8ed.gz
2009-02-17 19:29:59 +01:00
Olivier Crete
5f1e214592 [MOVED FROM GST-P-FARSIGHT] Add valve element
20071024224147-3e2dc-f28ab0c073e283894b65c22c4f44397c897dec01.gz
2009-02-17 19:29:59 +01:00
Olivier Crête
d73cc21017 Add some documentation to the siren enc/dec plugins 2009-02-17 19:29:40 +01:00
Olivier Crête
11328ad67f Re-indent the siren stuff to be gst style 2009-02-17 19:29:40 +01:00
Olivier Crête
ce558ab988 Move siren rtp pay/depay to good 2009-02-17 19:29:40 +01:00
Olivier Crête
158e8692c5 [MOVED FROM GST-P-FARSIGHT] Remove .git-darcs-dir files 2009-02-17 19:29:40 +01:00
Olivier Crête
9905d54965 [MOVED FROM GST-P-FARSIGHT] Add underscore to make the encoder like the decoder 2009-02-17 19:29:40 +01:00
Olivier Crête
4d3e6501d9 [MOVED FROM GST-P-FARSIGHT] Rename offset to out_offset to make its meaning clearer 2009-02-17 19:29:40 +01:00
Olivier Crête
72c979d84b [MOVED FROM GST-P-FARSIGHT] Check the size of the input buffer, not the output buffer 2009-02-17 19:29:40 +01:00
Olivier Crête
a67aa17c6d [MOVED FROM GST-P-FARSIGHT] Preserve timestamp 2009-02-17 19:29:40 +01:00
Olivier Crete
8fcd95267d [MOVED FROM GST-P-FARSIGHT] Remove useless checks, document locking
20080704222103-3e2dc-47a7f49c414f98a188ffc42b07189daf5147483b.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
ae01ec1980 [MOVED FROM GST-P-FARSIGHT] make sirenenc thread safe
20080704221743-3e2dc-f93da86438f753e14be25166aee45f8802f7d100.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
1c3fa06a8f [MOVED FROM GST-P-FARSIGHT] Replace use GST_DEBUG_OBJECT in sirenenc
20080704201830-3e2dc-8f3e401aaa594c8cc5853b73f41ca5cb047ee2d3.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
bda906038d [MOVED FROM GST-P-FARSIGHT] Port sirendec to Gstelement
20080704201744-3e2dc-99bf7b86e42da363d8c826449d84b43751572d5e.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
84a188ff73 [MOVED FROM GST-P-FARSIGHT] Release ref at the end of chain
20080704200454-3e2dc-386f2685882a74d01ce503f91396ea37506dbe83.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
ba15441117 [MOVED FROM GST-P-FARSIGHT] Remove useless call to peek_parent
20080704200315-3e2dc-6b30efd2d32b6ca96609f4bdc0c3e286f4441746.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
1d94ecf2fd [MOVED FROM GST-P-FARSIGHT] Make GstSirenEnc use GST_*_OBJECT appropriately
20080704200029-3e2dc-f68fdaaa8929039fd8413ff0bf8ff514f6e4fbe1.gz
2009-02-17 19:29:39 +01:00
Olivier Crete
8722c6e6f5 [MOVED FROM GST-P-FARSIGHT] Port sirenenc to gstelement
20080704195102-3e2dc-cd7687512ac560faaf15f53e1e262d1874a36cdf.gz
2009-02-17 19:29:39 +01:00
Olivier Crete
b696a8dd6c [MOVED FROM GST-P-FARSIGHT] Link modules with libm where required
20080428222237-3e2dc-b1e9120c1e9ca1a510bfd7c27e2d45f0d4a12504.gz
2009-02-17 19:29:39 +01:00
Youness Alaoui
c931b38ad6 [MOVED FROM GST-P-FARSIGHT] Removed debug output
20080412234325-4f0f6-36b946a7ca3ab4e5802917b8930f036c50a93a29.gz
2009-02-17 19:29:39 +01:00
Youness Alaoui
9636cecbd6 [MOVED FROM GST-P-FARSIGHT] Oups, typo
20080410234328-4f0f6-962e375e78da05eab52892a57d3226fdd2ffc86d.gz
2009-02-17 19:29:39 +01:00
Youness Alaoui
b9ea3bbe4f [MOVED FROM GST-P-FARSIGHT] Added Siren encoder/decoder/payloader/depayloader
20080410070116-4f0f6-72ffbdbb262f07bfabd1e469973a01b3359bee45.gz
2009-02-17 19:29:39 +01:00
Olivier Crête
79ebcb8fe5 Add liveadder to the docs 2009-02-17 19:29:06 +01:00
Olivier Crête
cf21405a7f Document the liveadder 2009-02-17 19:29:06 +01:00
Olivier Crête
6edfec64ee Moved liveadder from gst-plugins-farsight to -bad
Re-indent liveadder in gst style and add it to configure
2009-02-17 19:29:06 +01:00
Olivier Crête
4b33d319fc [MOVED FROM GST-P-FARSIGHT] Use log for message thats on every buffer 2009-02-17 19:29:06 +01:00
Olivier Crête
e7da8d9ac6 [MOVED FROM GST-P-FARSIGHT] Remove .git-darcs-dir files 2009-02-17 19:29:06 +01:00
Edward Hervey
8a533c4282 [MOVED FROM GST-P-FARSIGHT] liveadder : Handle jitter in incoming buffers
Incoming buffers (especially those from an RTP connection) might have slight timestamp jitter. This is normally handled by audiosink (accepting up to 500ms of jitter).
Here we accept a maximum jitter of 10ms. If a buffer is within 10ms of the expected time, we correct its timestamp.
2009-02-17 19:29:06 +01:00
Olivier Crete
28d1fc48a6 [MOVED FROM GST-P-FARSIGHT] Add handling of position query to liveadder
20080704185721-3e2dc-7a687e346e74b44fa847c5e5b6eb64c3e0949764.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
9e6d4708f8 [MOVED FROM GST-P-FARSIGHT] Replace C99 llabs with C89 code
20080521172005-3e2dc-8e637d1daa0e27cc2edae1fdfd0dbf23896fb5bc.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
91dcd54ae5 [MOVED FROM GST-P-FARSIGHT] Reset vars before restarting thread on flush stop
20080515012257-3e2dc-e3521752cf3eaf2b8767f4c620eadfc24a8e8e31.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
4d44cf5fe2 [MOVED FROM GST-P-FARSIGHT] Implement first version of seeking
20080515012227-3e2dc-7f53f78d1c3dfdcdb6e7ad53e6c7f16d5e998a05.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
72ca8467eb [MOVED FROM GST-P-FARSIGHT] Add duration query from adder
20080515012142-3e2dc-2768199183bfb9d569be1389e382bedc02e3e95e.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
3c835d5536 [MOVED FROM GST-P-FARSIGHT] Move flush stop inside where it belongs
20080515000214-3e2dc-cda5cddd1ead5c48a554e9e9bc75ae68437bcdfb.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
703b3326cc [MOVED FROM GST-P-FARSIGHT] Have the liveadder remember if its playing or not
20080514234948-3e2dc-9064a27a54aef598444aa6ad6463345979120828.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
75edc07516 [MOVED FROM GST-P-FARSIGHT] Push out buffer if we're not playing while there is no clock
20080514234910-3e2dc-1096eb7dc3fada19afc81dcd536d9edc821d0da9.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
5f37d95613 [MOVED FROM GST-P-FARSIGHT] Empty the queue on flush start
20080514232643-3e2dc-5a3f52a3fd3771164dea95bd14410d76b4fce2aa.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
c653d0ac38 [MOVED FROM GST-P-FARSIGHT] Reset pad private on flush stop
20080514231752-3e2dc-113fec2faafc2dc11c1eaa818cb488b71e601f9b.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
df72e5ca58 [MOVED FROM GST-P-FARSIGHT] Pass pad as pad to reset_pad_private
20080514231643-3e2dc-006960b9cdc3ce8e1f890dc6d194778cbc7c9736.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
263a914b08 [MOVED FROM GST-P-FARSIGHT] Print debug message if we return non-ok from chain
20080502191004-3e2dc-f1f7237c06c1158cf27e29d32a69de06f7112506.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
8a2f376f04 [MOVED FROM GST-P-FARSIGHT] Don't return EOS if we have no pads
20080502190954-3e2dc-41351225e909e6d0837a6a60e187d33ab186ad76.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
e23efd9e81 [MOVED FROM GST-P-FARSIGHT] Check that the format is NOT time
20080501203154-3e2dc-780e46b1f0fe76a66e2d79a2eb85d764ff5f182f.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
095636bfd2 [MOVED FROM GST-P-FARSIGHT] Don't use g_queue_clear()
20080428221737-3e2dc-bb8e4748751c29e0857313a09f85067ab12c3fe4.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
dbeab8d0b8 [MOVED FROM GST-P-FARSIGHT] Pad push event after the lock has been unlocked
20080501200940-3e2dc-ae5fec5f79f32777bba649d0d700d49f7bedff40.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
312b4156c1 [MOVED FROM GST-P-FARSIGHT] Create generic segment is none received and refuse non-time segments
20080501182554-3e2dc-ace5ca000414428d6d94478adc5927c9f91975df.gz
2009-02-17 19:29:05 +01:00
Simon McVittie
c6df5201b0 [MOVED FROM GST-P-FARSIGHT] Add missing semicolon (did anyone test this?!)
20080429140802-53eee-41fdb4391eddb125b7e34019427cfa5dc8afd6c0.gz
2009-02-17 19:29:05 +01:00
Youness Alaoui
1c57d2d70c [MOVED FROM GST-P-FARSIGHT] Robustness check, make sure the queue is not empty before using the head element
20080429003600-4f0f6-708c654b65812caeb3612248dbe0b2e62567c250.gz
2009-02-17 19:29:05 +01:00
Youness Alaoui
7a4034db44 [MOVED FROM GST-P-FARSIGHT] Remove useless condition
20080429003412-4f0f6-9e890ad0ac442791a8b22650a75cb754d7f2d723.gz
2009-02-17 19:29:05 +01:00
Youness Alaoui
cd3f191dab [MOVED FROM GST-P-FARSIGHT] check against audio_buffer_clip which can return NULL if the buffer is outside the clipping segment
20080429000339-4f0f6-7e4e31f066b87e29265ddb3978929e51efbff47d.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
b4ac5eabc9 [MOVED FROM GST-P-FARSIGHT] Fix object locking in setcaps
20080428234948-4f0f6-4586434b4308e114f495e926996fc19483c1056f.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
806f8e05c6 [MOVED FROM GST-P-FARSIGHT] Use g_cond_broadcast instead of g_cond_signal
20080428234935-4f0f6-e51fab31772b32f2fb080ad70c6bedefc5c26dc6.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
2f5fd70ad8 [MOVED FROM GST-P-FARSIGHT] Max latency should also be increased by our own latency
20080428232851-4f0f6-05f9a89403cd54211f2f4a6595704270eab9616f.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
89566bfc8a [MOVED FROM GST-P-FARSIGHT] Fix deadlock on invalid timestamp error
20080428223606-3e2dc-963e48b33efaf84c16d4ec4b789a6dfb2d9358ad.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
72efe4c3d7 [MOVED FROM GST-P-FARSIGHT] Added comment for clarity
20080428161958-4f0f6-cbaa166fbde99013b555c69ab48d964d75773a7f.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
a3ad3be905 [MOVED FROM GST-P-FARSIGHT] added TODO comments
20080428161235-4f0f6-fbc78533d29d37b65add6f6046fec17ce5e30cae.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
5cc67e45c5 [MOVED FROM GST-P-FARSIGHT] check_eos will always return FALSE here..
20080428155927-4f0f6-1a93e295d3df68a96367b75060a89a947efa8944.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
2f17739998 [MOVED FROM GST-P-FARSIGHT] added comment on the no clock error
20080428154956-4f0f6-7e24ed31f9c822e4323b681a54bc23f03c1a325e.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
2a2d21a1f2 [MOVED FROM GST-P-FARSIGHT] error if no clock is available
20080428154850-4f0f6-38fdc4134835c457d0054301579d8cd4cbd4989a.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
c9450ad8e2 [MOVED FROM GST-P-FARSIGHT] renaming unused arg
20080425210456-4f0f6-ab1cdc944c9bcd779504292b21dc1787d6cb62a1.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
5cceb99ad2 [MOVED FROM GST-P-FARSIGHT] removed unused user_data and commented line
20080425203938-4f0f6-787778475b646461da40f3e0000a10bc96e142bc.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
39d4e1ea60 [MOVED FROM GST-P-FARSIGHT] remove unused cases and empty switch
20080425203735-4f0f6-c0442fcf57e3f08b81bc1be3d69f5cfa0257b52a.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
1dc81fa5e3 [MOVED FROM GST-P-FARSIGHT] Explicit the discont flag mangling
20080428183409-3e2dc-4db2505eeca033a634253b6c2d2f4f1398e9fcca.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
e7413eb0cb [MOVED FROM GST-P-FARSIGHT] Unref events when they are dropped
20080428180711-3e2dc-eb659787f179562f15402c819f188de398deef2d.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
f92c1b9234 [MOVED FROM GST-P-FARSIGHT] Use Glib G_{MAX,MIN}{U,}INT{8,16,32} macros
20080424224627-3e2dc-1036bc58b6b4db2f9f12831cdbae3bc613facbbf.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
341a88cd04 [MOVED FROM GST-P-FARSIGHT] Unlock liveadder empty buffer gcond on flush
20080421032614-3e2dc-4ed29e1583ff684338ba5d7611f60b1a7eaff563.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
244bf6f250 [MOVED FROM GST-P-FARSIGHT] Unref event instead of leaking it
20080418192941-3e2dc-352e25f6ab291612be1dc139790303a1333f65d7.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
696a8dc188 [MOVED FROM GST-P-FARSIGHT] non-perfect stream isnt an error, lets just log it
20080403170956-3e2dc-663f6af8ce067f44ca251a89aebf262d4b8a2869.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
29991c984a [MOVED FROM GST-P-FARSIGHT] We retimestamp to the running time, starting the segments from 0 should therefore work
20080403165431-3e2dc-d981ac2f9ea7fd3c8d2be4d22f1817cf78c614e4.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
0e625b097b [MOVED FROM GST-P-FARSIGHT] Do the min/max of the latencies correctly
20080403165415-3e2dc-c1124bd84e67cf8a911a14bb123b8731da9f4fc4.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
a5e2d805e6 [MOVED FROM GST-P-FARSIGHT] Fix indentation
20080403021425-3e2dc-efd73a6eed0676e158af70484d4e5c42ea75de74.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
3a53d39191 [MOVED FROM GST-P-FARSIGHT] Activate pads before adding them in case we're already playing
20080403020318-3e2dc-afd58f992c0b3057221b91034b2fcd91f296e52d.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
5a48de94d7 [MOVED FROM GST-P-FARSIGHT] For latencies, use the min of the max and the max of the min (and the min wins if they cross)
20080403020253-3e2dc-dda7e471073ee75a6f60e845c3c546af9be19675.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
1e7eeda115 [MOVED FROM GST-P-FARSIGHT] Rename next_ts into expected_ts, make sure all buffers have a duration
20080403005728-3e2dc-8245ce1bfeebebfb8f75073253b3c0e3c4b5f596.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
56757b3ae2 [MOVED FROM GST-P-FARSIGHT] Don't try to set the discont flag if the duration of the previous incoming buffer was not valid
20080403004012-3e2dc-6f95520c928c347508bdf6188c873ed724ad2dd7.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
dc27b8f569 [MOVED FROM GST-P-FARSIGHT] Reset buffers offsets to none
20080402224627-3e2dc-d3ee8c7d0c14131017842d8159f7f684d0ccef6d.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
9b1a57442e [MOVED FROM GST-P-FARSIGHT] Import adder src event handling
20080402224612-3e2dc-21a682b18fe18782bf7fa48983c13c1ad86dc5a1.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
59d6b57d52 [MOVED FROM GST-P-FARSIGHT] Push out a simple newsegment event
20080331184421-3e2dc-69544b5b03ae3bb8c1e3f967974fd250d04056b5.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
ffa0065ab3 [MOVED FROM GST-P-FARSIGHT] Don't return EOS if there is no sink pad
20080331184404-3e2dc-482a134b47eadcd9f1f9d144c02ab1145028fa07.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
6458bc43a4 [MOVED FROM GST-P-FARSIGHT] Reduce locking a bit and cleanup code a bit
20080331171116-3e2dc-5ddfb0e459004780d3f7a660c64f58243936a844.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
2a4e341b5d [MOVED FROM GST-P-FARSIGHT] Add liveadder element
20080329004518-3e2dc-40e4746fe82bbc5a871f03fe6ff6048f436c9f85.gz
2009-02-17 19:29:03 +01:00
Michael Smith
a6320f13f1 scaletempo: Do not use void pointer arithmetic. 2009-02-13 12:18:48 -08:00
Julien Moutte
8ad4f28d67 Make the demuxer reusable in READY->PLAYING->READY->PLAYING cycles by
flushing adapters correctly.
2009-02-12 22:40:48 +01:00
Sebastian Dröge
e8efc4d020 mxfdemux: Also include the picture/sound/data essence coding in the unknown caps 2009-02-12 11:00:07 +01:00
Sebastian Dröge
25e84ff223 mxfdemux: Update TODO, we should support the drop-frame property of timecode tracks 2009-02-12 11:00:07 +01:00
Sebastian Dröge
eb78f9c8f7 mxfdemux: Fix resolval of identifications from the preface 2009-02-12 11:00:07 +01:00
Sebastian Dröge
61b284de0d mxfdemux: Parse MXFTimestamp's milliseconds and add _to_string() function 2009-02-12 11:00:07 +01:00
Sebastian Dröge
144466e2cd mxfdemux: Update TODO 2009-02-12 11:00:07 +01:00
Sebastian Dröge
48dea2af6e inputselector: Fix compilation, activate_sinkpad() has no notify parameter 2009-02-11 17:21:20 +01:00
Michael Smith
b4c2d8c1bb input-selector: Activate and notify pad before processing events.
Events should trigger pad selection if we don't already have an
explicitly selected pad, so that events prior to first buffer don't get
lost.
2009-02-10 16:23:54 -08:00
René Stadler
ff2d0621f7 camerabin: Sanitize constants used for element factory names. 2009-02-11 01:59:39 +02:00
René Stadler
6675318107 camerabin: Use v4l2src as default source. 2009-02-11 01:59:39 +02:00
René Stadler
7207ef163b camerabin: Add .gitignore to hide generated signal marshaller files. 2009-02-11 01:59:27 +02:00
René Stadler
d821246de6 camerabin: Fix plugin details to use GST_PACKAGE_* values. 2009-02-11 00:19:22 +02:00
René Stadler
8f1d41637c aacparse: Fix license specified in plugin details. 2009-02-11 00:15:43 +02:00
Sebastian Dröge
08aadd31dc mxfdemux: After pulling the footer metadata reset essence track positions to 0 2009-02-09 18:14:14 +01:00
Sebastian Dröge
1229f0a149 mxfdemux: When trying to find an essence track position try to find position+1 too
By searching for the following position we will add the complete
generic container (i.e. all tracks) at the same position to the
index which should make finding positions for more than one track
a bit faster.
2009-02-09 17:55:05 +01:00
Sebastian Dröge
df0dd0b378 mxfdemux: For new essence tracks only set the position to 0 if it starts in the current partition 2009-02-09 17:48:38 +01:00
Sebastian Dröge
1ae9334355 mxfdemux: Check if the length of the src/essence track arrays are 0, not the array itself 2009-02-09 17:44:43 +01:00
Sebastian Dröge
32dc77f853 mxfdemux: Make sure that the srcpad and essence track arrays always exist 2009-02-09 17:25:35 +01:00
Sebastian Dröge
ae4b0fcb7c mxfdemux: Change some GST_ERRORs to something less critical 2009-02-09 16:40:44 +01:00
Sebastian Dröge
3f9400d968 mxfdemux: Only go into EOS and send segment-done after all tracks are finished 2009-02-09 16:40:44 +01:00
Sebastian Dröge
15c0db9c38 mxfdemux: Update TODO 2009-02-09 16:40:44 +01:00
Julien Moutte
fe54254bd9 Fix build for camerabin. 2009-02-09 15:48:20 +01:00
Nokia Corporation
3751eaeb79 Add camerabin element. 2009-02-09 10:22:09 +02:00
Sebastian Dröge
dc408bb28b mxfdemux: Fix seeking to the end of file
When seeking to a position where no new offset can be
found or after the end of a track don't set the EOS flag
to TRUE as we don't (and can't) push EOS downstream then.
Instead set the current essence track position to then
end of the essence track and let the loop or chain function
set everything to EOS and push EOS downstream.

Also restart the pad's task if resolving metadata failed
(playback will continue as before) and return FALSE from
the seek if no new offset could be found.
2009-02-09 07:33:41 +01:00
Sebastian Dröge
f169201c24 mxfdemux: Fix last_stop calculation when seeking 2009-02-08 21:52:03 +01:00
Sebastian Dröge
33baa707a2 mxfdemux: Resolve source package before accessing it's members 2009-02-08 21:31:40 +01:00
Sebastian Dröge
2b566be795 mxfdemux: Correctly implement timestamping in all cases
When the material package track and source package track
edit rate are different the source package track edit
rate applies to the stored essence and the material track
edit rate only applies to the values in the track's sequence
and components.
2009-02-08 21:23:03 +01:00
Sebastian Dröge
3cc77d4dd6 mxfdemux: Correctly handle DURATION queries with a negative duration 2009-02-08 21:22:17 +01:00
Sebastian Dröge
81fb90748f mxfdemux: When changing to the component after the last component update the essence track position 2009-02-08 21:17:11 +01:00
Sebastian Dröge
c33678dab3 mxfdemux: Small cleanup and an additional check
Update TODO list, reduce size of a stack allocated string
and don't allow essence tracks with an invalid edit rate
2009-02-08 21:12:21 +01:00
Sebastian Dröge
658066d085 mxfdemux: For material packages make sure that tracks resolve to source tracks 2009-02-08 07:33:33 +01:00
Sebastian Dröge
8dc9f2ea4d mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
Avid uses a custom essence container UL and custom essence element keys
that are fortunately compatible with the generic container essence
elements. Partially fixes bug #561922.
2009-02-07 10:38:26 +01:00
Sebastian Dröge
3c3dff6869 mxfdemux: Make essence track creation a bit more robust against broken files
Some files contain multiple tracks with the same track number but different
track id inside the same source package. This is invalid and we simply ignore
the second and following of such traacks now instead of overwriting the
information of the first one.
2009-02-07 10:13:54 +01:00
Sebastian Dröge
410681f8b5 mxfdemux: Don't include multiple descriptors in the track's descriptors 2009-02-07 10:03:24 +01:00
Sebastian Dröge
6e392318c0 mxfdemux: Add support for non-standard Avid MXF files containing DV essence
Avid usually uses a custom essence container label for the essence
descriptors and stores the actual codec that is used inside the
picture essence coding field (and for sound probably in the sound
essence coding field but I have no sample files with sound).
Partially fixes bug #561922.
2009-02-07 09:27:13 +01:00
Sebastian Dröge
1822dc99d3 mxfdemux: Add data definition for Avid vendor specific picture essence 2009-02-06 11:57:46 +01:00
Sebastian Dröge
86088f92be mxfdemux: For tracks with no known mapping use dummy caps 2009-02-06 11:55:45 +01:00
Sebastian Dröge
6eef7983fb mxfdemux: Don't remove invalid new essence track twice from the GPtrArray 2009-02-06 11:21:00 +01:00
Sebastian Dröge
f529a4c6b3 mxfdemux: Implement keyframe detection for MPEG4 video streams 2009-02-06 11:09:11 +01:00
Sebastian Dröge
0d8099685d mxfdemux: Handle some more special cases when setting the position when seeking 2009-02-06 10:46:47 +01:00
Sebastian Dröge
bb11522f1d mxfdemux: Adjust last_stop to the last keyframe when seeking 2009-02-06 10:46:09 +01:00
Sebastian Dröge
22cb259f19 mxfdemux: Fix logic for finding the previous keyframe 2009-02-06 10:06:59 +01:00
Sebastian Dröge
6208795598 mxfdemux: Add keyframe detection for MPEG2 video streams
This is useful for seeking as we usually want to seek to the previous
keyframe. The keyframe detection is done by parsing the MPEG2
elementary stream and if a GOP or I-frame packet is found we
assume a keyframe in this edit unit.
2009-02-06 09:53:13 +01:00
Sebastian Dröge
c9f6a8b586 mxfdemux: Protect the metadata with a lock against concurrent access 2009-02-05 21:29:29 +01:00
Josep Torra
e3fcf51e2c mpegpsdemux: fixes clossing segment generation.
Ensure that the clossing segment is generated correctly and being
properly pushed.
Added some GST_DEBUG to check it.
Ensure that last_stop is updated in stream time.
Calculate duration as delta of PTS as it seems more correct than delta
of SCR in some clips that I tested.
2009-02-04 22:50:30 +01:00
Josep Torra
f44b64ce92 mpegpsdemux: several fixes on the seeking function in pul mode.
Removed a line wrongly copy pasted in my previous commit.
Avoid an unsigned integer overflow.
Seek last_stop in stream time.
Clamp last_stop in stream time between first and last SCR.
Fixed a typo in the GST_DEBUG line and added some more info.
2009-02-04 22:17:36 +01:00
Josep Torra
77bc3a162c Moved var declarations to the begin of function 2009-02-04 16:20:40 +01:00
Josep Torra
b7198258f2 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad 2009-02-04 16:18:27 +01:00
Josep Torra
5d1abdbe2c Improved seeking in pull mode. Some refactoring and small fixes 2009-02-04 16:11:23 +01:00