Jan Schmidt
8fa4acacc0
rpicamsrc: Add property getters for preview window position.
...
Add the lines in get_property() for the preview-x/y/w/h properties
so the values can be retrieved without causing critical warnings.
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/42
2020-07-10 16:45:21 +01:00
Jan Schmidt
48b3c2bc8e
rpicamsrc: Add preview-x/y/w/h properties
...
Expose properties for setting the position of the preview
window on the screen
2020-07-10 16:45:19 +01:00
Jan Schmidt
63f60f7e7e
rpicamsrc: Add properties for configuring annotation text size and colour.
...
Map the raspivid setting for annotation text size and colours
to properties.
2020-07-10 16:45:18 +01:00
ibauer
a3de294cb5
rpicamsrc: Changed awb-gain-blue use the correct enum PROP_AWB_GAIN_BLUE and not PROP_AWB_GAIN_RED
2020-07-10 16:45:16 +01:00
Jan Schmidt
e97b50af51
rpicamsrc: Fix buffer PTS calculation
...
Timestamps from MMAL are in microseconds,
so make sure to convert to nanoseconds before
using them to adjust the GStreamer buffer time
2020-07-10 16:45:15 +01:00
Philippe Normand
cda483cb3c
rpicamsrc: Basic orientation interface support
...
The (h,v)flip attributes are now supported through this interface.
It should also be possible to support (h,v)center attributes using the
ROI properties.
2020-07-10 16:45:13 +01:00
Jan Schmidt
1a4870d13d
rpicamsrc: Describe awb-mode=off in lowercase
...
Change the descriptions for the awb-gain-blue and awb-gain-red
properties to say 'awb-mode=off' instead of 'awb-mode=OFF'
See https://github.com/thaytan/gst-rpicamsrc/issues/26
2020-07-10 16:45:05 +01:00
Philippe Normand
961cf17c97
rpicamsrc: colorbalance: protect with config_lock mutex
2020-07-10 16:45:03 +01:00
Philippe Normand
c51503fc41
rpicamsrc: add test-color-balance example
...
This small test will display a live video preview of the rpicam with
the balance controls being updated once a second. The controls to
update can be disabled in the source by setting the CONTROL_* macros
values to 0.
2020-07-10 16:45:02 +01:00
Philippe Normand
48a735ff21
rpicamsrc: Implement GstColorBalance interface
...
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/24
2020-07-10 16:44:48 +01:00
Jan Schmidt
4e827949ef
rpicamsrc: Fix initial config setting.
...
Make sure to update the captsure config before starting
capture. Since the capture component now keeps a local
copy of the config, it's not updated automatically.
2020-07-10 16:44:46 +01:00
Jan Schmidt
e58951cfb8
rpicamsrc: Disable bitrate, quantisation and intra-refresh dynamic changes
...
The firmware rejects dynamic changes of those encoder params.
2020-07-10 16:44:45 +01:00
Jan Schmidt
92aa566c43
rpicamsrc: Send vcos_log_warn via GStreamer debug messages
2020-07-10 16:44:43 +01:00
Jan Schmidt
acc7449d28
rpicamsrc: Add dynamic properties example
...
Python example of adjusting saturation on the fly
2020-07-10 16:44:41 +01:00
Jan Schmidt
3b85ddd90e
rpicamsrc: Update properties dynamically where possible
...
Update camera and encoder properties at runtime
where possible
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/19
and https://github.com/thaytan/gst-rpicamsrc/issues/23
2020-07-10 16:44:23 +01:00
Jan Schmidt
1610030b40
rpicamsrc: split preview config and state
2020-07-10 16:44:21 +01:00
Jan Schmidt
3771777f7f
rpicamsrc: Clear intra-refresh MMAL param struct.
...
Use memset on the stack allocated MMAL_PARAMETER_VIDEO_INTRA_REFRESH_T
struct. Apparently mmal_port_parameter_get() doesn't retrieve all
parameters, causing random failures when we set the intra-refresh
param on the encoder.
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/22 for me.
2020-07-10 16:44:13 +01:00
Jan Schmidt
4d70e1d8ee
rpicamsrc: Merge changes from userland repo
...
Current to b69f807ce59189457662c2144a8e7e12dc776988
No integration of stereoscopic support as yet
2020-07-10 16:44:11 +01:00
Jan Schmidt
edf4927704
rpicamsrc: Map intra-refresh cyclic-rows to the correct MMAL param.
2020-07-10 16:44:07 +01:00
Jan Schmidt
8fe0590c29
rpicamsrc: Use MMAL PTS and STC to calculate GStreamer timestamps
...
Don't apply timestamps based on output time from the encoder,
but use the MMAL STC and capture PTS to generate a GStreamer
timestamp that more accurately resembles the input (and would
preserve reordering should the encoder ever add B-frames).
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/16
2020-07-10 16:43:55 +01:00
Jan Schmidt
c3ad9c99a6
rpicamsrc: Defer encoder creation until after caps are negotiated
...
This ensures the encoder is created with the profile
negotiated with downstream
2020-07-10 16:43:53 +01:00
Jan Schmidt
3abe941e74
rpicamsrc: Read and set H.264 profile from negotiated caps
2020-07-10 16:43:51 +01:00
Jan Schmidt
2087b1e44e
rpicamsrc: Add intra-refresh-type property, and set default keyframe spacing to -1 (auto)
...
This plus other recent commits mostly fix
bug https://github.com/thaytan/gst-rpicamsrc/issues/16
2020-07-10 16:43:31 +01:00
Jan Schmidt
ed22d5cc4e
rpicamsrc: Add annotation-mode and annotation-text properties
2020-07-10 16:43:30 +01:00
Jan Schmidt
39d212df57
rpicamsrc: implement sensor-mode property
2020-07-10 16:43:28 +01:00
Jan Schmidt
52ae74f9ce
rpicamsrc: More conversion to GStreamer logging
2020-07-10 16:43:26 +01:00
Jan Schmidt
37028010f1
rpicamsrc: Implement drc property
2020-07-10 16:43:25 +01:00
Jan Schmidt
78b36bbb6b
rpicamsrc: add awb-gain-red and awb-gain-blue properties
2020-07-10 16:43:23 +01:00
Jan Schmidt
f6451323b5
rpicamsrc: Add camera-number property
2020-07-10 16:43:22 +01:00
Jan Schmidt
1ea517a692
rpicamsrc: add inline-headers and shutter-speed properties
2020-07-10 16:43:20 +01:00
Jan Schmidt
861c353873
rpicamsrc: Add quantisation-parameter property, support variable bitrate
...
Allow birate=0 and implement the quantisation-parameter property
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/21
2020-07-10 16:43:07 +01:00
Jan Schmidt
6bd0347bf0
rpicamsrc: Incorporate raspivid changes from upstream
...
Merge all changes for new features from upstream
raspberrypi userland, up to commit 0de0b2
2020-07-10 16:43:02 +01:00
Jan Schmidt
eb345f032c
rpicamsrc: Add keyframe-interval property to the element
2020-07-10 16:43:00 +01:00
Tim-Philipp Müller
27c35a8ff3
rpicamsrc: deviceprovider: check if camera is detected and supported
2020-07-10 16:42:59 +01:00
Tim-Philipp Müller
8e9c8663f8
rpicamsrc: Add GstDeviceProvider for rpi camera module
2020-07-10 16:42:58 +01:00
Tim-Philipp Müller
4b15fa2abc
rpicamsrc: avoid single-element lists in template caps
2020-07-10 16:42:56 +01:00
Vivia Nikolaidou
d226968275
rpicamsrc: Add force-key-unit event support
2020-07-10 16:42:55 +01:00
Jan Schmidt
244091bb5e
rpicamsrc: Move all debug output to go via GStreamer logs
...
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/9
2020-07-10 16:42:16 +01:00
Jan Schmidt
df3ceb86f7
rpicamsrc: Update maximum framerate to 90 fps
2020-07-10 16:42:15 +01:00
Jan Schmidt
1dfb41bdce
rpicamsrc: Enable image effects
2020-07-10 16:42:14 +01:00
Jan Schmidt
1b9a614272
rpicamsrc: Re-flow element source code with gst-indent
2020-07-10 16:42:12 +01:00
Jan Schmidt
5f871311c1
rpicamsrc: Implement a bunch of the raspivid command-line params
...
Add properties for controlling various parts of the capture
2020-07-10 16:42:11 +01:00
Jan Schmidt
42729b92f0
rpicamsrc: Tell basesrc to timestamp buffers for us, for now.
2020-07-10 16:42:10 +01:00
Jan Schmidt
cde8b33199
rpicamsrc: Initial caps nego and properties.
...
Support caps negotiation for H.264 frame size and framerate.
Add bitrate, saturation, brightness, contrast, sharpness properties.
2020-07-10 16:42:09 +01:00
Jan Schmidt
1416631df9
rpicamsrc: First version which generates buffers on the src pad
...
Fixed to 1920x1080 h264 regardless of caps.
2020-07-10 16:42:07 +01:00
Jan Schmidt
7ffb618b20
rpicamsrc: Checkpoint. Version which writes directly to test.out
...
Switch to plain basesrc for parent class
2020-07-10 16:42:06 +01:00
Jan Schmidt
f4af399350
rpicamsrc: checkpoint
2020-07-10 16:42:04 +01:00
Jan Schmidt
e4f74290df
rpicamsrc: Initial commit
...
Simple modified gst-template to use BaseCameraSrc
Incorporate Broadcom mmal headers
2020-07-10 16:42:01 +01:00
Michael Olbrich
83beb9211b
souphttpsrc: don't fail when seeking past the end of the content
...
Range errors are already turned into EOS when the size is not known.
Do the same thing if the request as outside the known content size.
This can be triggered by seeking in a queue2:
- Ensure that the range containing the end of the file is available.
- Seek into this range from a different range.
- queue2 creates a seek event with start=<file-size>
- this results in a "Requested Range Not Satisfiable" error
Fixes #452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/385 >
2020-07-10 11:41:55 +00:00
Michael Olbrich
d4b50d7915
souphttpsrc: don't update the size on error
...
Any data corresponding length in the message is not part of the requested
file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/385 >
2020-07-10 11:41:55 +00:00