From a7e528109abe288b4fac62f11d966f8132d43b8d Mon Sep 17 00:00:00 2001 From: Stephan Sundermann Date: Tue, 12 Feb 2013 16:13:06 +0100 Subject: [PATCH] First working gstreamer video output. Frames are not in sync with the time provided in GetFrame! Need to implement a own GstClock for that first --- GstreamerHelper/GstreamerVideo.cpp | 4 +- GstreamerHelper/GstreamerVideo.h | 10 +- GstreamerHelper/GstreamerVideoStream.cpp | 102 ++++++++++++++---- GstreamerHelper/GstreamerVideoStream.h | 18 +++- Output/x64/gstreamer/GstreamerHelper.dll | Bin 200704 -> 205824 bytes Vocaluxe/Lib/Video/CVideoDecoderGstreamer.cs | 25 +++-- .../Video/Gstreamer/CGstreamerVideoWrapper.cs | 43 ++++++-- 7 files changed, 159 insertions(+), 43 deletions(-) diff --git a/GstreamerHelper/GstreamerVideo.cpp b/GstreamerHelper/GstreamerVideo.cpp index a8edd0d9..8d0dc29c 100644 --- a/GstreamerHelper/GstreamerVideo.cpp +++ b/GstreamerHelper/GstreamerVideo.cpp @@ -77,12 +77,12 @@ DllExport float GetVideoLength(int Stream) else return -1.0; } -DllExport guint8* GetFrame(int Stream, float Time, float &VideoTime, int &Size, int &Width, int &Height) +DllExport struct ApplicationFrame GetFrame(int Stream, float Time) { map::iterator it = VideoStreams.find(Stream); if(it != VideoStreams.end()) { - return it->second->GetFrame(Time, VideoTime, Size, Width, Height); + return it->second->GetFrame(Time); } } diff --git a/GstreamerHelper/GstreamerVideo.h b/GstreamerHelper/GstreamerVideo.h index 4b14b4cf..e8020648 100644 --- a/GstreamerHelper/GstreamerVideo.h +++ b/GstreamerHelper/GstreamerVideo.h @@ -10,6 +10,14 @@ using namespace std; typedef void (__stdcall * LogCallback)(const char* text); static LogCallback Log; + struct ApplicationFrame { + guint8* buffer; + int size; + int width; + int height; + float videotime; + }; + DllExport void SetVideoLogCallback(LogCallback Callback); DllExport bool InitVideo(); @@ -20,7 +28,7 @@ using namespace std; DllExport int GetVideoNumStreams(); DllExport float GetVideoLength(int StreamID); - DllExport guint8* GetFrame(int StreamID, float Time, float &VideoTime, int &Size, int &Width, int &Height); + DllExport struct ApplicationFrame GetFrame(int StreamID, float Time); DllExport bool Skip(int StreamID, float Start, float Gap); DllExport void SetVideoLoop(int StreamID, bool Loop); DllExport void PauseVideo(int StreamID); diff --git a/GstreamerHelper/GstreamerVideoStream.cpp b/GstreamerHelper/GstreamerVideoStream.cpp index 63c954b8..1b19240a 100644 --- a/GstreamerHelper/GstreamerVideoStream.cpp +++ b/GstreamerHelper/GstreamerVideoStream.cpp @@ -19,6 +19,8 @@ GstreamerVideoStream::GstreamerVideoStream(int ID) { this->ID = ID; + g_main_loop_new(Context, false); + Loop = false; Running = true; @@ -49,31 +51,98 @@ int GstreamerVideoStream::LoadVideo(const wchar_t* Filename) LogVideoError ("Could not create element!"); return -1; } + + gst_app_sink_set_drop(Appsink, true); g_object_set(Element, "uri", Filename, NULL); - //g_object_set(Element, "video-sink", Appsink, NULL); + g_object_set(Element, "video-sink", Appsink, NULL); g_object_set(Element, "flags", GST_PLAY_FLAG_VIDEO, NULL); + g_object_set (Appsink, "emit-signals", TRUE, "sync", TRUE, NULL); + g_signal_connect(Appsink,"new-sample", G_CALLBACK(fake_callback),(gpointer)this); - //GstCaps *caps = gst_caps_new_any(); + GstCaps *caps; + caps = gst_caps_new_simple ("video/x-raw", + "format", G_TYPE_STRING, "BGRA", //We should use RGB for better performance here! Implement later + NULL); - //gst_caps_set_value(caps, "format", (GValue*)"RGBA"); - //gst_app_sink_set_caps(Appsink, caps); + gst_app_sink_set_caps(Appsink, caps); + gst_app_sink_set_max_buffers(Appsink, 1); gst_element_set_state(Element, GST_STATE_PLAYING); - //gst_bus_timed_pop_filtered(Bus, -1, GST_MESSAGE_ASYNC_DONE); + gst_element_set_state((GstElement*)Appsink, GST_STATE_PLAYING); + gst_bus_timed_pop_filtered(Bus, -1, GST_MESSAGE_ASYNC_DONE); + Paused = true; RefreshDuration(); return ID; } +GstFlowReturn GstreamerVideoStream::fake_callback(GstAppSink *sink,gpointer data) { + + GstreamerVideoStream* instance = (GstreamerVideoStream*)data; + return instance->NewBufferRecieved(sink); +} + +GstFlowReturn GstreamerVideoStream::NewBufferRecieved(GstAppSink *sink) +{ + float VideoTime = 0.0; + int Width = 0; + int Height = 0; + int Size = -1; + + Sample = gst_app_sink_pull_sample(Appsink); + if(Sample) { + BufferCaps = gst_sample_get_caps (Sample); + BufferStructure = gst_caps_get_structure (BufferCaps, 0); + + Buffer = gst_sample_get_buffer(Sample); + gst_buffer_map(Buffer, &Mapinfo, GST_MAP_READ); + + Size = Mapinfo.size; + gst_structure_get_int (BufferStructure, "width", &Width); + gst_structure_get_int (BufferStructure, "height", &Height); + VideoTime = (float) (Buffer->pts / GST_SECOND); + + if(Buffer && &Mapinfo) + { + gst_buffer_unmap(Buffer, &Mapinfo); + gst_buffer_unref(Buffer); + } + if(BufferCaps) + gst_caps_unref(BufferCaps); + + if(BufferStructure) + gst_object_unref(BufferStructure); + } + + Frame.buffer = Mapinfo.data; + Frame.height = Height; + Frame.width = Width; + Frame.size = Size; + Frame.videotime = VideoTime; + + return GST_FLOW_OK; +} + bool GstreamerVideoStream::CloseVideo() { - if(Element) - gst_element_set_state(Element, GST_STATE_NULL); + if(Appsink) gst_object_unref(Appsink); if(Bus) gst_object_unref(Bus); + //if(Buffer && &Mapinfo) + //gst_buffer_unmap(Buffer, &Mapinfo); + if(Buffer) + gst_buffer_unref(Buffer); + if(BufferCaps) + gst_caps_unref(BufferCaps); + + if(BufferStructure) + gst_object_unref(BufferStructure); + + if(Element) + gst_element_set_state(Element, GST_STATE_NULL); if(Element) gst_object_unref(Element); return true; @@ -86,23 +155,9 @@ float GstreamerVideoStream::GetVideoLength() return Duration; } -guint8* GstreamerVideoStream::GetFrame(float Time, float &VideoTime, int &Size, int &Width, int &Height) +struct ApplicationFrame GstreamerVideoStream::GetFrame(float Time) { - /*GstSample *sample; - GstBuffer *buffer; - GstElement *sink; - - sample = gst_app_sink_pull_sample(Appsink); - buffer = gst_sample_get_buffer(sample); - - g_object_get(Element, "video-sink", &sink, NULL); - - gst_buffer_map(buffer, &Mapinfo, GST_MAP_READ); - - VideoTime = (float) (buffer->pts / GST_SECOND); - Size = Mapinfo.size; - return Mapinfo.data; */ - return 0; + return Frame; } bool GstreamerVideoStream::Skip(float Start, float Gap) @@ -152,6 +207,7 @@ void GstreamerVideoStream::RefreshDuration() void GstreamerVideoStream::UpdateVideo() { if(Running) { + g_main_context_iteration(Context, false); Message = gst_bus_pop (Bus); /* Parse message */ diff --git a/GstreamerHelper/GstreamerVideoStream.h b/GstreamerHelper/GstreamerVideoStream.h index 296a8225..421a7ded 100644 --- a/GstreamerHelper/GstreamerVideoStream.h +++ b/GstreamerHelper/GstreamerVideoStream.h @@ -1,9 +1,11 @@ #pragma once +#include #include "gst/gst.h" #include "GstreamerVideo.h" #include "gst\app\gstappsink.h" using namespace std; + class GstreamerVideoStream { @@ -18,7 +20,7 @@ public: bool CloseVideo(); float GetVideoLength(); - guint8* GetFrame(float Time, float &VideoTime, int &Size, int &Width, int &Height); + struct ApplicationFrame GetFrame(float Time); bool Skip(float Start, float Gap); void SetVideoLoop(bool Loop); void PauseVideo(); @@ -29,11 +31,22 @@ public: bool IsFinished(); private: + + GMainLoop *MainLoop; + GMainContext *Context; + GstAppSink *Appsink; GstElement *Element; GstBus *Bus; GstMessage *Message; + + ApplicationFrame Frame; GstMapInfo Mapinfo; + GstSample *Sample; + GstBuffer *Buffer; + GstCaps *BufferCaps; + GstStructure *BufferStructure; + mutex Mutex; gboolean Loop; @@ -45,6 +58,9 @@ private: gfloat Duration; void RefreshDuration(); + + GstFlowReturn NewBufferRecieved(GstAppSink *Sink); + static GstFlowReturn fake_callback(GstAppSink *sink ,gpointer data); }; diff --git a/Output/x64/gstreamer/GstreamerHelper.dll b/Output/x64/gstreamer/GstreamerHelper.dll index 92fa88812431cf097bdf8bd0d98985b03107e9ed..a8cae00969660758b59ee3529d3c1831aeb0d31e 100644 GIT binary patch literal 205824 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ɣ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 WAM1;0ad|QIGt~l9E%1M_1^yd0i|TU# literal 200704 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

x-mgh^=X;4c_9XzC@`qE#>RuV6B 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 diff --git a/Vocaluxe/Lib/Video/CVideoDecoderGstreamer.cs b/Vocaluxe/Lib/Video/CVideoDecoderGstreamer.cs index 81db3594..72c59faf 100644 --- a/Vocaluxe/Lib/Video/CVideoDecoderGstreamer.cs +++ b/Vocaluxe/Lib/Video/CVideoDecoderGstreamer.cs @@ -63,9 +63,10 @@ namespace Vocaluxe.Lib.Video public bool GetFrame(int StreamID, ref STexture Frame, float Time, ref float VideoTime) { - //IntPtr buffer = CGstreamerVideoWrapper.GetFrame(StreamID, Time, ref VideoTime); - byte[] data = new byte[4 * 4 * 4]; - UploadNewFrame(ref Frame, ref data, 4, 4); + ManagedFrame frame = CGstreamerVideoWrapper.GetFrame(StreamID, Time); + VideoTime = frame.Videotime; + + UploadNewFrame(ref Frame, ref frame.buffer, frame.Width, frame.Height); return true; } @@ -101,14 +102,18 @@ namespace Vocaluxe.Lib.Video private void UploadNewFrame(ref STexture frame, ref byte[] Data, int Width, int Height) { - if (frame.index == -1 || Width != frame.width || Height != frame.height) + if (Data != null) { - CDraw.RemoveTexture(ref frame); - frame = CDraw.AddTexture(Width, Height, ref Data); - } - else - { - CDraw.UpdateTexture(ref frame, ref Data); + if (frame.index == -1 || Width != frame.width || Height != frame.height || Data.Length == 0) + { + CDraw.RemoveTexture(ref frame); + frame = CDraw.AddTexture(Width, Height, ref Data); + } + else + { + CDraw.UpdateTexture(ref frame, ref Data); + } + Data = null; } } } diff --git a/Vocaluxe/Lib/Video/Gstreamer/CGstreamerVideoWrapper.cs b/Vocaluxe/Lib/Video/Gstreamer/CGstreamerVideoWrapper.cs index 2a53d404..17368cf5 100644 --- a/Vocaluxe/Lib/Video/Gstreamer/CGstreamerVideoWrapper.cs +++ b/Vocaluxe/Lib/Video/Gstreamer/CGstreamerVideoWrapper.cs @@ -5,6 +5,23 @@ using System.Text; namespace Vocaluxe.Lib.Video.Gstreamer { + public struct NativeFrame { + public IntPtr buffer; + public int Size; + public int Width; + public int Height; + public float Videotime; + } + + public struct ManagedFrame + { + public byte[] buffer; + public int Size; + public int Width; + public int Height; + public float Videotime; + } + public static class CGstreamerVideoWrapper { #region arch @@ -44,14 +61,28 @@ namespace Vocaluxe.Lib.Video.Gstreamer public static extern float GetVideoLength(int StreamID); [DllImport(Dll, EntryPoint="GetFrame")] - public static extern IntPtr GetFrameNative(int StreamID, float Time, ref float VideoTime, ref int Size, ref int Width, ref int Height); + public static extern NativeFrame GetFrameNative(int StreamID, float Time); - public static byte[] GetFrame(int StreamID, float Time, ref float VideoTime, ref int Size, ref int Width, ref int Height) + public static ManagedFrame GetFrame(int StreamID, float Time) { - IntPtr buf = GetFrameNative(StreamID, Time, ref VideoTime, ref Size, ref Width, ref Height); - byte[] buffer = new byte[Size]; - Marshal.Copy(buf, buffer, 0, Size); - return buffer; + NativeFrame f = GetFrameNative(StreamID, Time); + + byte[] buffer = null; + + if (f.Size > 0) + { + buffer = new byte[f.Size]; + Marshal.Copy(f.buffer, buffer, 0, f.Size); + } + + ManagedFrame m; + m.buffer = buffer; + m.Height = f.Height; + m.Size = f.Size; + m.Videotime = f.Videotime; + m.Width = f.Width; + return m; + } [DllImport(Dll)]