[gstreamermm] Gst::Structure: fix setting glib::value field
- From: Marcin Kolny <mkolny src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gstreamermm] Gst::Structure: fix setting glib::value field
- Date: Sun, 28 Aug 2016 18:50:03 +0000 (UTC)
commit b0b9270b29b65361dcd8715c414c2e67cbb2bace
Author: Marcin Kolny <marcin kolny gmail com>
Date: Sat Aug 27 12:30:50 2016 +0200
Gst::Structure: fix setting glib::value field
gstreamer/src/structure.hg | 2 +-
tests/test-structure.cc | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/gstreamer/src/structure.hg b/gstreamer/src/structure.hg
index 8e85cd3..df96c7f 100644
--- a/gstreamer/src/structure.hg
+++ b/gstreamer/src/structure.hg
@@ -382,7 +382,7 @@ void Structure::get_field(const Glib::ustring& fieldname, Glib::Value<DataType>&
template<typename DataType>
void Structure::set_field(const Glib::ustring& fieldname, const Glib::Value<DataType>& value)
{
- set_field(fieldname, reinterpret_cast<const Glib::Value<DataType>&>(value));
+ set_field(fieldname, reinterpret_cast<const Glib::ValueBase&>(value));
}
} //namespace Gst
diff --git a/tests/test-structure.cc b/tests/test-structure.cc
index b67869e..31f5cdb 100644
--- a/tests/test-structure.cc
+++ b/tests/test-structure.cc
@@ -134,3 +134,16 @@ TEST_F(StructureTest, CreateStructureWithCustomFields)
ASSERT_EQ(14, d1.x);
ASSERT_EQ(85, d2.get().x);
}
+
+TEST_F(StructureTest, UseStructureWithGlibValue)
+{
+ structure = Structure("dummy");
+ Glib::Value<int> value;
+ value.init(Glib::Value<int>::value_type());
+ value.set(123);
+ structure.set_field("field1", value);
+
+ Glib::Value<int> read_value;
+ structure.get_field("field1", read_value);
+ ASSERT_EQ(123, read_value.get());
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]