[gst-debugger] refactor: restored pad dynamic info
- From: Marcin Kolny <mkolny src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gst-debugger] refactor: restored pad dynamic info
- Date: Mon, 5 Oct 2015 20:53:23 +0000 (UTC)
commit 65a0dc88cbb00a1083ebd4c99bac66b952e664ba
Author: Marcin Kolny <marcin kolny gmail com>
Date: Mon Oct 5 22:16:40 2015 +0200
refactor: restored pad dynamic info
src/common/gstdebugger.proto | 8 +++++++
src/debugserver/gstdebugserver.c | 24 +++++++++++++++++++++++
src/gst-debugger/controller/command_factory.cpp | 8 ++----
src/gst-debugger/controller/command_factory.h | 2 +-
4 files changed, 36 insertions(+), 6 deletions(-)
---
diff --git a/src/common/gstdebugger.proto b/src/common/gstdebugger.proto
index 390ff81..f34bbc2 100644
--- a/src/common/gstdebugger.proto
+++ b/src/common/gstdebugger.proto
@@ -127,6 +127,7 @@ message Command {
bool entire_topology = 5;
PropertyRequest property = 6;
PropertyValue property_set = 7;
+ string pad_dynamic_info = 8;
}
}
@@ -214,6 +215,12 @@ message TopologyInfo {
}
}
+message PadDynamicInfo {
+ required string allowed_caps = 1;
+ required string current_caps = 2;
+ required string pad = 3;
+}
+
message GStreamerData {
oneof info_type {
DebugCategories debug_categories = 1;
@@ -228,5 +235,6 @@ message GStreamerData {
PropertyValue property_value = 10;
ElementKlass element_klass = 11;
BufferInfo buffer_info = 12;
+ PadDynamicInfo pad_dynamic_info = 13;
}
}
diff --git a/src/debugserver/gstdebugserver.c b/src/debugserver/gstdebugserver.c
index 5104dc1..8ad8d46 100644
--- a/src/debugserver/gstdebugserver.c
+++ b/src/debugserver/gstdebugserver.c
@@ -448,6 +448,30 @@ static void gst_debugserver_command_handler (GstDebugger__Command * command,
command->property_set->value->data.data, command->property_set->value->data.len);
g_object_set_property (G_OBJECT (element), command->property_set->name, &val);
g_value_unset (&val);
+ break;
+ }
+ case GST_DEBUGGER__COMMAND__COMMAND_TYPE_PAD_DYNAMIC_INFO:
+ {
+ GstDebugger__GStreamerData data = GST_DEBUGGER__GSTREAMER_DATA__INIT;
+ GstDebugger__PadDynamicInfo pad_info = GST_DEBUGGER__PAD_DYNAMIC_INFO__INIT;
+ GstPad *pad = gst_utils_get_pad_from_path (GST_ELEMENT_CAST (self->pipeline), command->pad_dynamic_info);
+ GstCaps *allowed_caps = gst_pad_get_allowed_caps (pad);
+ if (pad == NULL) {
+ break;
+ }
+ GstCaps *current_caps = gst_pad_get_current_caps (pad);
+ gchar *allowed_caps_str = gst_caps_to_string (allowed_caps);
+ gchar *current_caps_str = gst_caps_to_string (current_caps);
+ pad_info.pad = command->pad_dynamic_info;
+ pad_info.allowed_caps = allowed_caps_str;
+ pad_info.current_caps = current_caps_str;
+ data.info_type_case = GST_DEBUGGER__GSTREAMER_DATA__INFO_TYPE_PAD_DYNAMIC_INFO;
+ data.pad_dynamic_info = &pad_info;
+
+ gst_debugserver_tcp_send_packet (self->tcp_server, client, &data);
+
+ g_free (allowed_caps_str);
+ g_free (current_caps_str);
}
}
}
diff --git a/src/gst-debugger/controller/command_factory.cpp b/src/gst-debugger/controller/command_factory.cpp
index f2c5be5..36846ee 100644
--- a/src/gst-debugger/controller/command_factory.cpp
+++ b/src/gst-debugger/controller/command_factory.cpp
@@ -157,12 +157,10 @@ void CommandFactory::send_set_property_command(const std::string &path, const st
client->send_command(cmd);
}
-/*
+
void CommandFactory::send_request_pad_dynamic_info(const std::string &pad_path)
{
- Command cmd;
- cmd.set_command_type(Command_CommandType_PAD_DYNAMIC_INFO);
- cmd.set_pad_path(pad_path);
+ GstDebugger::Command cmd;
+ cmd.set_pad_dynamic_info(pad_path);
client->send_command(cmd);
}
-*/
diff --git a/src/gst-debugger/controller/command_factory.h b/src/gst-debugger/controller/command_factory.h
index 66397c7..994fdcf 100644
--- a/src/gst-debugger/controller/command_factory.h
+++ b/src/gst-debugger/controller/command_factory.h
@@ -31,7 +31,7 @@ public:
void send_request_debug_categories_command();
void send_request_entire_topology_command();
void send_set_property_command(const std::string &path, const std::string &property_name, GValue
*gvalue);
- /*void send_request_pad_dynamic_info(const std::string &pad_path);*/
+ void send_request_pad_dynamic_info(const std::string &pad_path);
};
#endif /* SRC_GST_DEBUGGER_CONTROLLER_COMMAND_FACTORY_H_ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]