summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--docs/plugins/gst-plugins-good-plugins-sections.txt16
-rw-r--r--sys/osxvideo/osxvideosink.h75
3 files changed, 56 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index 7891f840..5342b1f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
2008-01-15 Stefan Kost <ensonic@users.sf.net>
* docs/plugins/gst-plugins-good-plugins-sections.txt:
+ * sys/osxvideo/osxvideosink.h:
+ Revert previous change caused by a file that got stuck on an old
+ revision.
+
+2008-01-15 Stefan Kost <ensonic@users.sf.net>
+
+ * docs/plugins/gst-plugins-good-plugins-sections.txt:
* gst/multipart/Makefile.am:
* gst/multipart/multipartdemux.c:
* gst/multipart/multipartdemux.h:
diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt
index aba3a12a..7a66f6b8 100644
--- a/docs/plugins/gst-plugins-good-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-good-plugins-sections.txt
@@ -610,15 +610,15 @@ gst_osx_audio_src_get_type
GstOSXVideoSink
<SUBSECTION Standard>
GstOSXVideoSinkClass
-GstOSXImage
-<SUBSECTION Private>
-GST_IS_OSXVIDEOSINK
-GST_IS_OSXVIDEOSINK_CLASS
-GST_OSXVIDEOSINK
-GST_OSXVIDEOSINK_CLASS
-GST_TYPE_OSXVIDEOSINK
GstOSXWindow
-gst_osxvideosink_get_type
+<SUBSECTION Private>
+GST_IS_OSX_VIDEO_SINK
+GST_IS_OSX_VIDEO_SINK_CLASS
+GST_OSX_VIDEO_SINK
+GST_OSX_VIDEO_SINK_CLASS
+GST_TYPE_OSX_VIDEO_SINK
+GST_TYPE_OSXVIDEOBUFFER
+gst_osx_video_sink_get_type
</SECTION>
<SECTION>
diff --git a/sys/osxvideo/osxvideosink.h b/sys/osxvideo/osxvideosink.h
index a51a66b1..1612a44c 100644
--- a/sys/osxvideo/osxvideosink.h
+++ b/sys/osxvideo/osxvideosink.h
@@ -1,5 +1,7 @@
/* GStreamer
- * Copyright (C) 2004 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+ * Copyright (C) 2004-6 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+ * Copyright (C) 2007 Pioneers of the Inevitable <songbird@songbirdnest.com>
+ *
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -15,65 +17,62 @@
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
+ *
+ *
+ * The development of this code was made possible due to the involvement of Pioneers
+ * of the Inevitable, the creators of the Songbird Music player
+ *
*/
-#ifndef __GST_OSXVIDEOSINK_H__
-#define __GST_OSXVIDEOSINK_H__
-
+#ifndef __GST_OSX_VIDEO_SINK_H__
+#define __GST_OSX_VIDEO_SINK_H__
-#include <gst/gst.h>
#include <gst/video/gstvideosink.h>
#include <string.h>
#include <math.h>
+#include <Cocoa/Cocoa.h>
-#define HAVE_OSX
-#ifdef HAVE_OSX
#include <QuickTime/QuickTime.h>
#import "cocoawindow.h"
-#endif
+
+GST_DEBUG_CATEGORY_EXTERN (gst_debug_osx_video_sink);
+#define GST_CAT_DEFAULT gst_debug_osx_video_sink
G_BEGIN_DECLS
-#define GST_TYPE_OSXVIDEOSINK \
- (gst_osxvideosink_get_type())
-#define GST_OSXVIDEOSINK(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_OSXVIDEOSINK, GstOSXVideoSink))
-#define GST_OSXVIDEOSINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_OSXVIDEOSINK, GstOSXVideoSinkClass))
-#define GST_IS_OSXVIDEOSINK(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_OSXVIDEOSINK))
-#define GST_IS_OSXVIDEOSINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_OSXVIDEOSINK))
+#define GST_TYPE_OSX_VIDEO_SINK \
+ (gst_osx_video_sink_get_type())
+#define GST_OSX_VIDEO_SINK(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_OSX_VIDEO_SINK, GstOSXVideoSink))
+#define GST_OSX_VIDEO_SINK_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_OSX_VIDEO_SINK, GstOSXVideoSinkClass))
+#define GST_IS_OSX_VIDEO_SINK(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_OSX_VIDEO_SINK))
+#define GST_IS_OSX_VIDEO_SINK_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_OSX_VIDEO_SINK))
typedef struct _GstOSXWindow GstOSXWindow;
-typedef struct _GstOSXImage GstOSXImage;
typedef struct _GstOSXVideoSink GstOSXVideoSink;
typedef struct _GstOSXVideoSinkClass GstOSXVideoSinkClass;
+#define GST_TYPE_OSXVIDEOBUFFER (gst_osxvideobuffer_get_type())
+
/* OSXWindow stuff */
struct _GstOSXWindow {
gint width, height;
gboolean internal;
-#ifdef HAVE_OSX
- GstWindow* win;
+ GstOSXVideoSinkWindow* win;
GstGLView* gstview;
-#endif
+ NSAutoreleasePool *pool;
};
struct _GstOSXVideoSink {
/* Our element stuff */
GstVideoSink videosink;
-
GstOSXWindow *osxwindow;
- GstOSXImage *osximage;
- GstOSXImage *cur_image;
- int width;
- int height;
- guint32 format;
-
gint fps_n;
gint fps_d;
@@ -89,13 +88,21 @@ struct _GstOSXVideoSink {
struct _GstOSXVideoSinkClass {
GstVideoSinkClass parent_class;
-
- /* signal callbacks */
- void (*view_created) (GstElement* element, gpointer view);
};
-GType gst_osxvideosink_get_type(void);
+GType gst_osx_video_sink_get_type(void);
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+@interface NSApplication(AppleMenu)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+#endif
+
+@interface GstAppDelegate : NSObject
+- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
+@end
G_END_DECLS
-#endif /* __GST_OSXVIDEOSINK_H__ */
+#endif /* __GST_OSX_VIDEO_SINK_H__ */
+