diff --git a/samples/BasicTutorial1.cs b/samples/BasicTutorial1.cs new file mode 100644 index 0000000000..4b2035d1f2 --- /dev/null +++ b/samples/BasicTutorial1.cs @@ -0,0 +1,35 @@ +// Authors +// Copyright (C) 2014 Stephan Sundermann + +using System; +using Gst; + +namespace GstreamerSharp +{ + class Playback + { + public static void Main (string[] args) + { + // Initialize Gstreamer + Application.Init(ref args); + + // Build the pipeline + var pipeline = Parse.Launch("playbin uri=http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4"); + + // Start playing + pipeline.SetState(State.Playing); + + // Wait until error or EOS + var bus = pipeline.Bus; + var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Eos | MessageType.Error); + + // Free resources + if (msg != null) + msg.Dispose (); + + bus.Dispose (); + pipeline.SetState (State.Null); + pipeline.Dispose (); + } + } +} \ No newline at end of file diff --git a/samples/Makefile.am b/samples/Makefile.am index 38d6445ce4..4fcbb7c7c0 100644 --- a/samples/Makefile.am +++ b/samples/Makefile.am @@ -1,4 +1,4 @@ -TARGETS = playback.exe video-overlay.exe +TARGETS = playback.exe video-overlay.exe basic-tutorial-1.exe DEBUGS = $(addsuffix .mdb, $(TARGETS)) assemblies = \ @@ -15,7 +15,10 @@ playback.exe: $(srcdir)/Playback.cs $(assemblies) video-overlay.exe: $(srcdir)/VideoOverlay.cs $(assemblies) $(CSC) $(CSFLAGS) -out:video-overlay.exe $(references) $(GTK_SHARP_LIBS) $(srcdir)/VideoOverlay.cs +basic-tutorial-1.exe: $(srcdir)/BasicTutorial1.cs $(assemblies) + $(CSC) $(CSFLAGS) -out:basic-tutorial-1.exe $(references) $(GLIB_SHARP_LIBS) $(srcdir)/BasicTutorial1.cs EXTRA_DIST = \ Playback.cs \ - VideoOverlay.cs + VideoOverlay.cs \ + BasicTutorial1.cs