bind-marshal-0.1: test/FLVHeader/Ser.hs
-- Copyright : (C) 2009 Corey O'Connor
-- License : BSD-style (see the file LICENSE)
module FLVHeader.Ser where
import Bind.Marshal.Prelude
import Bind.Marshal.Action.Base
import Bind.Marshal.Action.Monad.Static
import Bind.Marshal.Action.Static
import Bind.Marshal.SerAction.Static
import Bind.Marshal.StdLib.Ser
import Bind.Marshal.StdLib.Utils.Ser
import FLVHeader.Data
{-# INLINE ser_flv_header #-}
ser_flv_header h = do
ser_char_8 'F'
ser_char_8 'L'
ser_char_8 'V'
ser $ version h
case ( has_audio h, has_video h ) of
( True, False ) -> ser ( 1 :: Word8 )
( False, True ) -> ser ( 4 :: Word8 )
( True, True ) -> ser ( 5 :: Word8 )
ser $ header_size h
static_return ()