[aravis] viewer: insert a bayer2rgb element for Bayer pixel formats.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis] viewer: insert a bayer2rgb element for Bayer pixel formats.
- Date: Tue, 3 Apr 2012 08:57:35 +0000 (UTC)
commit fe25b1105c83672338d71a473990553f5f5c3aa6
Author: Emmeran Sollner <emmeran corvusmedia de>
Date: Tue Apr 3 10:56:53 2012 +0200
viewer: insert a bayer2rgb element for Bayer pixel formats.
viewer/arvviewer.c | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/viewer/arvviewer.c b/viewer/arvviewer.c
index 551e954..d28e4f2 100644
--- a/viewer/arvviewer.c
+++ b/viewer/arvviewer.c
@@ -503,8 +503,10 @@ arv_viewer_select_camera_cb (GtkComboBox *combo_box, ArvViewer *viewer)
g_signal_handler_unblock (viewer->auto_exposure_toggle, viewer->auto_exposure_clicked);
caps_string = arv_pixel_format_to_gst_caps_string (pixel_format);
- if (caps_string == NULL)
+ if (caps_string == NULL) {
+ g_message ("GStreamer cannot understand the camera pixel format: 0x%x!\n", (int) pixel_format);
return;
+ }
arv_camera_start_acquisition (viewer->camera);
@@ -516,8 +518,17 @@ arv_viewer_select_camera_cb (GtkComboBox *combo_box, ArvViewer *viewer)
g_object_set (ximagesink, "force-aspect-ratio", TRUE, "draw-borders", TRUE, "sync", FALSE, NULL);
- gst_bin_add_many (GST_BIN (viewer->pipeline), viewer->appsrc, ffmpegcolorspace, ximagesink, NULL);
- gst_element_link_many (viewer->appsrc, ffmpegcolorspace, ximagesink, NULL);
+ if (g_str_has_prefix (caps_string, "video/x-raw-bayer")) {
+ GstElement *bayer2rgb;
+
+ bayer2rgb = gst_element_factory_make ("bayer2rgb", NULL);
+
+ gst_bin_add_many (GST_BIN (viewer->pipeline), viewer->appsrc, bayer2rgb, ffmpegcolorspace, ximagesink, NULL);
+ gst_element_link_many (viewer->appsrc, bayer2rgb, ffmpegcolorspace, ximagesink, NULL);
+ } else {
+ gst_bin_add_many (GST_BIN (viewer->pipeline), viewer->appsrc, ffmpegcolorspace, ximagesink, NULL);
+ gst_element_link_many (viewer->appsrc, ffmpegcolorspace, ximagesink, NULL);
+ }
caps = gst_caps_from_string (caps_string);
gst_caps_set_simple (caps,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]