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