examples: fix indentation of rpicamsrc examples
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
This commit is contained in:
parent
fbcc43d822
commit
c22b71e181
@ -19,13 +19,13 @@
|
|||||||
static gboolean incrementing_##name = TRUE;
|
static gboolean incrementing_##name = TRUE;
|
||||||
|
|
||||||
#if CONTROL_SATURATION
|
#if CONTROL_SATURATION
|
||||||
declare_value(SATURATION, 50);
|
declare_value (SATURATION, 50);
|
||||||
#endif
|
#endif
|
||||||
#if CONTROL_BRIGHTNESS
|
#if CONTROL_BRIGHTNESS
|
||||||
declare_value(BRIGHTNESS, 50);
|
declare_value (BRIGHTNESS, 50);
|
||||||
#endif
|
#endif
|
||||||
#if CONTROL_CONTRAST
|
#if CONTROL_CONTRAST
|
||||||
declare_value(CONTRAST, 0);
|
declare_value (CONTRAST, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define update(name, channel, current_value) \
|
#define update(name, channel, current_value) \
|
||||||
@ -39,76 +39,78 @@ declare_value(CONTRAST, 0);
|
|||||||
return current_##name; \
|
return current_##name; \
|
||||||
}
|
}
|
||||||
|
|
||||||
gint compute_value(GstColorBalanceChannel* channel, gint current_value)
|
gint
|
||||||
|
compute_value (GstColorBalanceChannel * channel, gint current_value)
|
||||||
{
|
{
|
||||||
#if CONTROL_SATURATION
|
#if CONTROL_SATURATION
|
||||||
update(SATURATION, channel, current_value);
|
update (SATURATION, channel, current_value);
|
||||||
#endif
|
#endif
|
||||||
#if CONTROL_BRIGHTNESS
|
#if CONTROL_BRIGHTNESS
|
||||||
update(BRIGHTNESS, channel, current_value);
|
update (BRIGHTNESS, channel, current_value);
|
||||||
#endif
|
#endif
|
||||||
#if CONTROL_CONTRAST
|
#if CONTROL_CONTRAST
|
||||||
update(CONTRAST, channel, current_value);
|
update (CONTRAST, channel, current_value);
|
||||||
#endif
|
#endif
|
||||||
return current_value;
|
return current_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean process(gpointer data)
|
static gboolean
|
||||||
|
process (gpointer data)
|
||||||
{
|
{
|
||||||
GstColorBalance* balance = (GstColorBalance*) data;
|
GstColorBalance *balance = (GstColorBalance *) data;
|
||||||
const GList* controls;
|
const GList *controls;
|
||||||
GstColorBalanceChannel* channel;
|
GstColorBalanceChannel *channel;
|
||||||
const GList* item;
|
const GList *item;
|
||||||
gint index, new_value, current_value;
|
gint index, new_value, current_value;
|
||||||
|
|
||||||
controls = gst_color_balance_list_channels(balance);
|
controls = gst_color_balance_list_channels (balance);
|
||||||
|
|
||||||
if (controls == NULL) {
|
if (controls == NULL) {
|
||||||
g_printerr("There is no list of colorbalance controls\n");
|
g_printerr ("There is no list of colorbalance controls\n");
|
||||||
return G_SOURCE_REMOVE;
|
return G_SOURCE_REMOVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (item = controls, index = 0; item != NULL;
|
for (item = controls, index = 0; item != NULL; item = item->next, ++index) {
|
||||||
item = item->next, ++index) {
|
|
||||||
channel = item->data;
|
channel = item->data;
|
||||||
current_value = gst_color_balance_get_value(balance, channel);
|
current_value = gst_color_balance_get_value (balance, channel);
|
||||||
new_value = compute_value(channel, current_value);
|
new_value = compute_value (channel, current_value);
|
||||||
gst_color_balance_set_value(balance, channel, new_value);
|
gst_color_balance_set_value (balance, channel, new_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return G_SOURCE_CONTINUE;
|
return G_SOURCE_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int
|
||||||
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
GMainLoop* loop;
|
GMainLoop *loop;
|
||||||
GstElement* pipeline;
|
GstElement *pipeline;
|
||||||
GError* error = NULL;
|
GError *error = NULL;
|
||||||
GstElement* src;
|
GstElement *src;
|
||||||
GstColorBalance* balance;
|
GstColorBalance *balance;
|
||||||
|
|
||||||
gst_init(&argc, &argv);
|
gst_init (&argc, &argv);
|
||||||
loop = g_main_loop_new(NULL, FALSE);
|
loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
|
||||||
pipeline = gst_parse_launch(PIPELINE, &error);
|
pipeline = gst_parse_launch (PIPELINE, &error);
|
||||||
if (error != NULL) {
|
if (error != NULL) {
|
||||||
g_printerr("Error parsing '%s': %s", PIPELINE, error->message);
|
g_printerr ("Error parsing '%s': %s", PIPELINE, error->message);
|
||||||
g_error_free(error);
|
g_error_free (error);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_element_set_state(pipeline, GST_STATE_PLAYING);
|
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
||||||
src = gst_bin_get_by_name(GST_BIN(pipeline), "src");
|
src = gst_bin_get_by_name (GST_BIN (pipeline), "src");
|
||||||
if (!src) {
|
if (!src) {
|
||||||
g_printerr("Source element not found\n");
|
g_printerr ("Source element not found\n");
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
balance = GST_COLOR_BALANCE(src);
|
balance = GST_COLOR_BALANCE (src);
|
||||||
g_timeout_add_seconds(1, process, balance);
|
g_timeout_add_seconds (1, process, balance);
|
||||||
g_main_loop_run(loop);
|
g_main_loop_run (loop);
|
||||||
|
|
||||||
gst_object_unref(src);
|
gst_object_unref (src);
|
||||||
gst_element_set_state(pipeline, GST_STATE_NULL);
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -10,61 +10,63 @@
|
|||||||
|
|
||||||
#define PIPELINE "rpicamsrc name=src preview=0 fullscreen=0 ! h264parse ! omxh264dec ! glimagesink sync=0"
|
#define PIPELINE "rpicamsrc name=src preview=0 fullscreen=0 ! h264parse ! omxh264dec ! glimagesink sync=0"
|
||||||
|
|
||||||
void configure_orientation(GstVideoOrientation* orientation)
|
void
|
||||||
|
configure_orientation (GstVideoOrientation * orientation)
|
||||||
{
|
{
|
||||||
gboolean flip;
|
gboolean flip;
|
||||||
|
|
||||||
if (gst_video_orientation_get_hflip(orientation, &flip)) {
|
if (gst_video_orientation_get_hflip (orientation, &flip)) {
|
||||||
g_print("current hflip: %s\n", flip ? "enabled" : "disabled");
|
g_print ("current hflip: %s\n", flip ? "enabled" : "disabled");
|
||||||
|
|
||||||
if (g_getenv("HFLIP"))
|
if (g_getenv ("HFLIP"))
|
||||||
gst_video_orientation_set_hflip(orientation, TRUE);
|
gst_video_orientation_set_hflip (orientation, TRUE);
|
||||||
|
|
||||||
gst_video_orientation_get_hflip(orientation, &flip);
|
gst_video_orientation_get_hflip (orientation, &flip);
|
||||||
g_print("new hflip: %s\n", flip ? "enabled" : "disabled");
|
g_print ("new hflip: %s\n", flip ? "enabled" : "disabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gst_video_orientation_get_vflip(orientation, &flip)) {
|
if (gst_video_orientation_get_vflip (orientation, &flip)) {
|
||||||
g_print("current vflip: %s\n", flip ? "enabled" : "disabled");
|
g_print ("current vflip: %s\n", flip ? "enabled" : "disabled");
|
||||||
|
|
||||||
if (g_getenv("VFLIP"))
|
if (g_getenv ("VFLIP"))
|
||||||
gst_video_orientation_set_vflip(orientation, TRUE);
|
gst_video_orientation_set_vflip (orientation, TRUE);
|
||||||
|
|
||||||
gst_video_orientation_get_vflip(orientation, &flip);
|
gst_video_orientation_get_vflip (orientation, &flip);
|
||||||
g_print("new vflip: %s\n", flip ? "enabled" : "disabled");
|
g_print ("new vflip: %s\n", flip ? "enabled" : "disabled");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int
|
||||||
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
GMainLoop* loop;
|
GMainLoop *loop;
|
||||||
GstElement* pipeline;
|
GstElement *pipeline;
|
||||||
GError* error = NULL;
|
GError *error = NULL;
|
||||||
GstElement* src;
|
GstElement *src;
|
||||||
GstVideoOrientation* orientation;
|
GstVideoOrientation *orientation;
|
||||||
|
|
||||||
gst_init(&argc, &argv);
|
gst_init (&argc, &argv);
|
||||||
loop = g_main_loop_new(NULL, FALSE);
|
loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
|
||||||
pipeline = gst_parse_launch(PIPELINE, &error);
|
pipeline = gst_parse_launch (PIPELINE, &error);
|
||||||
if (error != NULL) {
|
if (error != NULL) {
|
||||||
g_printerr("Error parsing '%s': %s", PIPELINE, error->message);
|
g_printerr ("Error parsing '%s': %s", PIPELINE, error->message);
|
||||||
g_error_free(error);
|
g_error_free (error);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_element_set_state(pipeline, GST_STATE_PLAYING);
|
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
||||||
src = gst_bin_get_by_name(GST_BIN(pipeline), "src");
|
src = gst_bin_get_by_name (GST_BIN (pipeline), "src");
|
||||||
if (!src) {
|
if (!src) {
|
||||||
g_printerr("Source element not found\n");
|
g_printerr ("Source element not found\n");
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
orientation = GST_VIDEO_ORIENTATION(src);
|
orientation = GST_VIDEO_ORIENTATION (src);
|
||||||
configure_orientation(orientation);
|
configure_orientation (orientation);
|
||||||
g_main_loop_run(loop);
|
g_main_loop_run (loop);
|
||||||
|
|
||||||
gst_object_unref(src);
|
gst_object_unref (src);
|
||||||
gst_element_set_state(pipeline, GST_STATE_NULL);
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,9 @@ create_receiver_entry (SoupWebsocketConnection * connection)
|
|||||||
G_CALLBACK (soup_websocket_message_cb), (gpointer) receiver_entry);
|
G_CALLBACK (soup_websocket_message_cb), (gpointer) receiver_entry);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
receiver_entry->pipeline = gst_parse_launch ("webrtcbin name=webrtcbin stun-server=stun://" STUN_SERVER " "
|
receiver_entry->pipeline =
|
||||||
|
gst_parse_launch ("webrtcbin name=webrtcbin stun-server=stun://"
|
||||||
|
STUN_SERVER " "
|
||||||
"rpicamsrc bitrate=600000 annotation-mode=12 preview=false ! video/x-h264,profile=constrained-baseline,width=640,height=360,level=3.0 ! queue max-size-time=100000000 ! h264parse ! "
|
"rpicamsrc bitrate=600000 annotation-mode=12 preview=false ! video/x-h264,profile=constrained-baseline,width=640,height=360,level=3.0 ! queue max-size-time=100000000 ! h264parse ! "
|
||||||
"rtph264pay config-interval=-1 name=payloader ! "
|
"rtph264pay config-interval=-1 name=payloader ! "
|
||||||
"application/x-rtp,media=video,encoding-name=H264,payload="
|
"application/x-rtp,media=video,encoding-name=H264,payload="
|
||||||
|
Loading…
x
Reference in New Issue
Block a user