public static void Run(string[] args) { GLib.ExceptionManager.UnhandledException += ExceptionManager_UnhandledException; string uri = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4"; // Missing GError ? uri = "https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm"; if (args.Length > 1) { uri = args[0]; } Gst.Application.Init(ref args); Console.WriteLine($"Discovering {uri}"); Discoverer = new Discoverer(5 * Gst.Constants.SECOND); if (Discoverer == null) { Console.WriteLine("Error creating discoverer "); return; } // Connect to the interesting signals Discoverer.Discovered += OnDiscoveredCb; Discoverer.Finished += OnFinishedCb; // Start the discoverer process (nothing to do yet) Discoverer.Start(); //Add a request to process asynchronously the URI passed through the command line if (!Discoverer.DiscoverUriAsync(uri)) { $"Failed to start discovering {uri}".PrintErr(); return; } // Create a GLib Main Loop and set it to run, so we can wait for the signals MainLoop = new GLib.MainLoop(); MainLoop.Run(); Discoverer.Stop(); Console.ReadLine(); }
public static void Main(string[] args) { var uri = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4"; // if a URI was provided, use it instead of the default one if (args.Length > 1) { uri = args[0]; } // Initialize GStreamer Gst.Application.Init(ref args); Console.WriteLine("Discovering '{0}'", uri); // Instantiate the Discoverer Discoverer = new Discoverer(5L * Gst.Constants.SECOND); // Connect to the interesting signals Discoverer.Discovered += HandleDiscovered; Discoverer.Finished += (sender, e) => { Console.WriteLine("Finished discovering"); MainLoop.Quit(); }; // Start the discoverer process (nothing to do yet) Discoverer.Start(); // Add a request to process asynchronously the URI passed through the command line if (!Discoverer.DiscoverUriAsync(uri)) { Console.WriteLine("Failed to start discovering URI '{0}'", uri); return; } // Create a GLib Main Loop and set it to run, so we can wait for the signals MainLoop = new GLib.MainLoop(); MainLoop.Run(); // Stop the discoverer process Discoverer.Stop(); }