<div dir="ltr">Thanks for your help, David! I'll see what I can do.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020 at 6:31 PM David Ing <<a href="mailto:ding@panopto.com">ding@panopto.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">A GstElement is a GstObject so cast and then call gst_object_get_parent</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020, 5:56 PM Tyler Compton <<a href="mailto:xaviosx@gmail.com" target="_blank">xaviosx@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks for the info! It's a shame that this may not be entirely possible. If I were to try to categorize the logs that do have GObjects, and I found the GObject to be a GstElement, how would I traverse the hierarchy? The only way I'm aware of is by traversing the tree downwards by iterating the elements in the GstPipeline, and recursively iterating elements in each GstBin, which isn't ideal from an efficiency standpoint.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020 at 3:57 PM David Ing <<a href="mailto:ding@panopto.com" rel="noreferrer" target="_blank">ding@panopto.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I don't think you can do that.  There is no concept of scope with the gstreamer logger.</div><div><br></div>Many log statements do not have a GObject passed in.  If you get a GObject passed in, you can check to see if it is a GstObject ... in which case you might be able to traverse the hierarchy (upwards) until you **maybe** hit a GstPipeline.  But that only works for a tiny fraction of log statements.<div><br></div><div>You can't even find the parent thread of the current thread (this is an OS limitation) ... which means you can't trace back to the main thread of your pipeline.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020 at 3:38 PM Tyler Compton <<a href="mailto:xaviosx@gmail.com" rel="noreferrer" target="_blank">xaviosx@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi list,<div><br></div><div>I'm working on an application that handles multiple video streams with GStreamer, and I would like to be able to present users with logging information for each stream in the UI to make it easier for users to diagnose problems. For my application, a "video stream" has only one pipeline associated with it.</div><div><br></div><div>In order to capture GStreamer logs, I'm installing a new handler with Gst.debug_add_log_function, which provides me some information alongside the actual log message. However, it's not clear to me how I should sort logs by their pipeline with this information. I assume the key is the "object" field given to my log handler, but considering this object can be of any type, I'm not sure how to reliably figure out which pipeline this object is from.</div><div><br></div><div>I'm using GStreamer 1.16.2 with PyGObject.</div></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>