From 60af9bc88f75a527d33ea79b4d83121b897056ef Mon Sep 17 00:00:00 2001 From: "Joshua M. Doe" Date: Wed, 15 Jan 2014 08:56:33 -0500 Subject: [PATCH] framelinksrc: allocate memory for strings in camConfig struct to avoid exception --- sys/imperx/gstframelinksrc.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/imperx/gstframelinksrc.c b/sys/imperx/gstframelinksrc.c index c4c47bc..2cec2bb 100644 --- a/sys/imperx/gstframelinksrc.c +++ b/sys/imperx/gstframelinksrc.c @@ -285,6 +285,16 @@ gst_framelinksrc_start (GstBaseSrc * bsrc) return FALSE; } + /* get configuration from file */ + camConfig.cchAlias = MAX_PATH; + camConfig.lpszAlias = g_new (gchar, MAX_PATH); + camConfig.cchDescription = MAX_PATH; + camConfig.lpszDescription = g_new (gchar, MAX_PATH); + camConfig.cchManufacturer = MAX_PATH; + camConfig.lpszManufacturer = g_new (gchar, MAX_PATH); + camConfig.cchModel = MAX_PATH; + camConfig.lpszModel = g_new (gchar, MAX_PATH); + err = VCECLB_LoadConfigA (src->format_file, &camConfig); if (err != VCECLB_Err_Success) { GST_ELEMENT_ERROR (src, RESOURCE, FAILED, @@ -292,6 +302,13 @@ gst_framelinksrc_start (GstBaseSrc * bsrc) return FALSE; } + GST_INFO_OBJECT (src, "Loaded config file for %s - %s", + camConfig.lpszManufacturer, camConfig.lpszModel); + g_free (camConfig.lpszAlias); + g_free (camConfig.lpszDescription); + g_free (camConfig.lpszManufacturer); + g_free (camConfig.lpszModel); + if (camConfig.pixelInfo.cameraData.Packed == 1) { GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, ("Packed pixel data not supported yet."), (NULL));