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
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
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
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
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
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
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
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
Lasse Laukkanen
30ff3bc098
camerabin: add meaningful names for queue elements inside camerabin
2010-04-21 12:25:39 +03: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
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
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
Benjamin Otte
b7655bbd2e
Add -Wredundant-decls flag
...
and fix warnings from it
2010-03-22 12:05:59 +01:00
Benjamin Otte
775c7584fd
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 22:46:41 +01:00
Mark Nauwelaerts
6631f50d59
camerabin: activate video bin before feeding data to it
...
Fixes #612615 .
2010-03-12 19:30:48 +01: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
4d9a0e832c
camerabin: fix link order
...
Move local version up in the link order.
2009-06-05 21:29:46 +03: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