module Media.Streaming.GStreamer.DataProtocol.DataProtocol (
) where
import Media.Streaming.GStreamer.Core.Types
import Media.Streaming.GStreamer.DataProtocol.Constants
import System.Glib.FFI
data DPPayloadType = DpPayloadNone
| DpPayloadBuffer
| DpPayloadCaps
| DpPayloadEventNone
instance Enum DPPayloadType where
fromEnum DpPayloadNone = 0
fromEnum DpPayloadBuffer = 1
fromEnum DpPayloadCaps = 2
fromEnum DpPayloadEventNone = 64
toEnum 0 = DpPayloadNone
toEnum 1 = DpPayloadBuffer
toEnum 2 = DpPayloadCaps
toEnum 64 = DpPayloadEventNone
toEnum unmatched = error ("DPPayloadType.toEnum: Cannot match " ++ show unmatched)
succ DpPayloadNone = DpPayloadBuffer
succ DpPayloadBuffer = DpPayloadCaps
succ DpPayloadCaps = DpPayloadEventNone
succ _ = undefined
pred DpPayloadBuffer = DpPayloadNone
pred DpPayloadCaps = DpPayloadBuffer
pred DpPayloadEventNone = DpPayloadCaps
pred _ = undefined
enumFromTo x y | fromEnum x == fromEnum y = [ y ]
| otherwise = x : enumFromTo (succ x) y
enumFrom x = enumFromTo x DpPayloadEventNone
enumFromThen _ _ = error "Enum DPPayloadType: enumFromThen not implemented"
enumFromThenTo _ _ _ = error "Enum DPPayloadType: enumFromThenTo not implemented"
data DPVersion = DpVersion02
| DpVersion10
instance Enum DPVersion where
fromEnum DpVersion02 = 1
fromEnum DpVersion10 = 2
toEnum 1 = DpVersion02
toEnum 2 = DpVersion10
toEnum unmatched = error ("DPVersion.toEnum: Cannot match " ++ show unmatched)
succ DpVersion02 = DpVersion10
succ _ = undefined
pred DpVersion10 = DpVersion02
pred _ = undefined
enumFromTo x y | fromEnum x == fromEnum y = [ y ]
| otherwise = x : enumFromTo (succ x) y
enumFrom x = enumFromTo x DpVersion10
enumFromThen _ _ = error "Enum DPVersion: enumFromThen not implemented"
enumFromThenTo _ _ _ = error "Enum DPVersion: enumFromThenTo not implemented"
type DPPacketizer = Ptr (())
dpInit :: IO ()
dpInit = gst_dp_init
foreign import ccall safe "gst_dp_init"
gst_dp_init :: (IO ())