Subscribe to bus messages, no events fired
testermax
joachim.leite at hotmail.com
Mon Aug 21 16:48:42 UTC 2017
Hi,
I`m currently working on a C# WPF application. I need to subscribe to error
messages etc. that the bus submitts.
I can currently only recieve messages from the "SyncMessage" event, but not
the "Message" event...
Whatever I do to try to fire an error state, the message handler wont
trigger.
How can I get the message event to fire?
public GstreamPlayer()
{
InitializeComponent();
// Handle usercontrol errors in designmode
if (DesignerProperties.GetIsInDesignMode(this)) return;
Loaded += GstreamPlayer_Loaded;
// Initialize Gstreamer
Gst.Application.Init();
// Enable detailed debug info from Gstreamer
Debug.SetActive(true);
// Setup Playbin element
_playbin = ElementFactory.Make("playbin", "playbin");
_playbin.Bus.EnableSyncMessageEmission();
_playbin.Bus.AddSignalWatch();
// Playbin syncmessage handler
_playbin.Bus.SyncMessage += delegate (object bus,
SyncMessageArgs sargs)
{
var msg = sargs.Message;
if
(!Gst.Video.Global.IsVideoOverlayPrepareWindowHandleMessage(msg))
return;
var src = msg.Src as Element;
if (src == null)
return;
try
{
src["force-aspect-ratio"] = true;
}
catch (PropertyNotFoundException) { }
Element overlay = null;
if (src is Bin)
overlay =
((Bin)src).GetByInterface(VideoOverlayAdapter.GType);
// Bind GStreamer Windowhandle to winform control handle
var adapter = new VideoOverlayAdapter(overlay.Handle)
{WindowHandle = _videoDisplayHandle};
adapter.HandleEvents(true);
};
// Playbin Bus message handler
*_playbin.Bus.Message +=* delegate (object bus, MessageArgs
margs) {
Message message = margs.Message;
switch (message.Type)
{
case MessageType.Error:
GLib.GException err;
string msg;
message.ParseError(out err, out msg);
Console.WriteLine($"Error message: {msg}");
break;
case Gst.MessageType.Eos:
Console.WriteLine("End of Stream");
break;
}
};
}
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Subscribe-to-bus-messages-no-events-fired-tp4684279.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list