Thu Oct 25 08:34:04 PDT 2007 Peter Gavin <pg...@gm...>
* gstreamer: add M.S.G.Audio.AudioClock
hunk ./Makefile.am 1905
- gstreamer/Media/Streaming/GStreamer/Net/Hierarchy.chs
+ gstreamer/Media/Streaming/GStreamer/Net/Hierarchy.chs \
+ gstreamer/Media/Streaming/GStreamer/Audio/Hierarchy.chs
hunk ./Makefile.am 1964
+ gstreamer/Media/Streaming/GStreamer/Audio/AudioClock.chs \
hunk ./Makefile.am 2073
+gstreamer/Media/Streaming/GStreamer/Audio/Hierarchy.chs : \
+ $(srcdir)/gstreamer/hierarchy.list \
+ $(srcdir)/tools/hierarchyGenGst/TypeGenerator$(EXEEXT) \
+ $(srcdir)/gstreamer/Media/Streaming/GStreamer/Hierarchy.chs.template
+ $(strip $(srcdir)/tools/hierarchyGenGst/TypeGenerator$(EXEEXT) \
+ $(srcdir)/gstreamer/hierarchy.list \
+ $(srcdir)/gstreamer/Media/Streaming/GStreamer/Hierarchy.chs.template \
+ $@ --tag=gstreamer-audio --lib=gstreamer --prefix=gst \
+ --root=GObject \
+ --modname=Media.Streaming.GStreamer.Audio.Hierarchy \
+ --parentname=Media.Streaming.GStreamer.Core.Hierarchy)
+
hunk ./gstreamer/Media/Streaming/GStreamer/Audio/AudioClock.chs 29
-module Media.Streaming.GStreamer.Audio.AudioClock (
- ) where
+module Media.Streaming.GStreamer.Audio.AudioClock
+ ( AudioClock
+ , [_$_]
+ ) where
hunk ./gstreamer/Media/Streaming/GStreamer/Audio/AudioClock.chs 34
+import Control.Monad (liftM)
+{#import Media.Streaming.GStreamer.Audio.Types#}
+import Media.Streaming.GStreamer.Core
+import System.Glib.FFI
+import System.Glib.UTFString
+
+{# context lib = "gstreamer" prefix = "gst" #}
+
+type AudioClockGetTimeFunc = Clock -> IO ClockTime
+
+type CAudioClockGetTimeFunc = Ptr Clock
+ -> {# type gpointer #}
+ -> IO {# type GstClockTime #}
+marshalAudioClockGetTimeFunc :: AudioClockGetTimeFunc
+ -> IO {# type GstAudioClockGetTimeFunc #}
+marshalAudioClockGetTimeFunc func =
+ makeAudioClockGetTimeFunc cFunc
+ where cFunc :: CAudioClockGetTimeFunc
+ cFunc cClock _ = do
+ clock <- peekObject cClock
+ liftM fromIntegral $ func clock
+foreign import ccall unsafe "wrapper"
+ makeAudioClockGetTimeFunc :: CAudioClockGetTimeFunc
+ -> IO {# type GstAudioClockGetTimeFunc #}
+
+audioClockNew :: String
+ -> AudioClockGetTimeFunc
+ -> IO Clock
+audioClockNew name func = do
+ cFunc <- marshalAudioClockGetTimeFunc func
+ withUTFString name $ \cName ->
+ {# call audio_clock_new #} cName
+ cFunc
+ nullPtr >>=
+ takeObject
hunk ./gstreamer/Media/Streaming/GStreamer/Audio/Types.chs 29
-module Media.Streaming.GStreamer.Audio.Types (
+module Media.Streaming.GStreamer.Audio.Types
+ ( module Media.Streaming.GStreamer.Core.Types
+ , module Media.Streaming.GStreamer.Audio.Hierarchy
+ , module Media.Streaming.GStreamer.Audio.Constants
hunk ./gstreamer/Media/Streaming/GStreamer/Audio/Types.chs 34
- module Media.Streaming.GStreamer.Audio.Constants,
- [_$_]
- AudioFieldFlag(..),
+ , AudioFieldFlag(..)
hunk ./gstreamer/Media/Streaming/GStreamer/Audio/Types.chs 39
+{#import Media.Streaming.GStreamer.Audio.Hierarchy#}
+{#import Media.Streaming.GStreamer.Core.Types#}
hunk ./gstreamer/hierarchy.list 23
+ GstAudioClock as AudioClock, gst_audio_clock_get_type if gstreamer-audio
hunk ./gstreamer/hsgstreamer.h 43
+#include <gst/audio/gstaudioclock.h>
|