ffmpeg-light 0.11.0 → 0.11.1
raw patch · 4 files changed
+11/−9 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Codec.FFmpeg: imageReaderT :: forall m p. (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p)), IO ())
+ Codec.FFmpeg: imageReaderT :: (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p)), IO ())
- Codec.FFmpeg: imageReaderTimeT :: forall m p. (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p, Double)), IO ())
+ Codec.FFmpeg: imageReaderTimeT :: (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p, Double)), IO ())
- Codec.FFmpeg: imageWriter :: forall p. JuicyPixelFormat p => EncodingParams -> FilePath -> IO (Maybe (Image p) -> IO ())
+ Codec.FFmpeg: imageWriter :: JuicyPixelFormat p => EncodingParams -> FilePath -> IO (Maybe (Image p) -> IO ())
- Codec.FFmpeg.Juicy: imageReaderT :: forall m p. (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p)), IO ())
+ Codec.FFmpeg.Juicy: imageReaderT :: (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p)), IO ())
- Codec.FFmpeg.Juicy: imageReaderTimeT :: forall m p. (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p, Double)), IO ())
+ Codec.FFmpeg.Juicy: imageReaderTimeT :: (Functor m, MonadIO m, MonadError String m, JuicyPixelFormat p) => InputSource -> m (IO (Maybe (Image p, Double)), IO ())
- Codec.FFmpeg.Juicy: imageWriter :: forall p. JuicyPixelFormat p => EncodingParams -> FilePath -> IO (Maybe (Image p) -> IO ())
+ Codec.FFmpeg.Juicy: imageWriter :: JuicyPixelFormat p => EncodingParams -> FilePath -> IO (Maybe (Image p) -> IO ())
- Codec.FFmpeg.Juicy: juicyPixelStride :: forall a proxy. Pixel a => proxy a -> Int
+ Codec.FFmpeg.Juicy: juicyPixelStride :: Pixel a => proxy a -> Int
- Codec.FFmpeg.Juicy: toJuicyImage :: forall p. JuicyPixelFormat p => AVFrame -> IO (Maybe (Image p))
+ Codec.FFmpeg.Juicy: toJuicyImage :: JuicyPixelFormat p => AVFrame -> IO (Maybe (Image p))
Files
- CHANGELOG.md +4/−0
- ffmpeg-light.cabal +2/−3
- src/Codec/FFmpeg/Decode.hs +1/−1
- src/Codec/FFmpeg/Juicy.hs +4/−5
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.11.1++* Use `Control.Monad.Except` instead of the deprecated `Control.Monad.Error` (Issue reported by Alexander / @AleXoundOS)+ # 0.11.0 * Query stream duration (Matthias Treydte)
ffmpeg-light.cabal view
@@ -1,10 +1,10 @@ name: ffmpeg-light-version: 0.11.0+version: 0.11.1 synopsis: Minimal bindings to the FFmpeg library. description: Stream frames from an encoded video, or stream frames to a video output file. To read the first frame from- an @h264@-encoded file into a JuicyPixels + an @h264@-encoded file into a JuicyPixels @Maybe DynamicImage@, . > import Codec.FFmpeg@@ -90,4 +90,3 @@ main-is: Raster.hs default-language: Haskell2010 ghc-options: -Wall -O2-
src/Codec/FFmpeg/Decode.hs view
@@ -10,7 +10,7 @@ import Control.Applicative import Control.Arrow (first) import Control.Monad (when, void)-import Control.Monad.Error.Class+import Control.Monad.Except import Control.Monad.IO.Class import Control.Monad.Trans.Maybe import Foreign.C.String
src/Codec/FFmpeg/Juicy.hs view
@@ -11,10 +11,9 @@ import Control.Applicative import Control.Arrow (first, (&&&)) import Control.Monad ((>=>))-import Control.Monad.Error.Class+import Control.Monad.Except import Control.Monad.IO.Class import Control.Monad.Trans.Class-import Control.Monad.Trans.Except (runExceptT) import Control.Monad.Trans.Maybe import Data.Foldable (traverse_) import qualified Data.Vector.Storable as V@@ -26,7 +25,7 @@ -- | Convert an 'AVFrame' to a 'DynamicImage' with the result in the -- 'MaybeT' transformer.--- +-- -- > toJuicyT = MaybeT . toJuicy toJuicyT :: AVFrame -> MaybeT IO DynamicImage toJuicyT = MaybeT . toJuicy@@ -97,7 +96,7 @@ -- | Bytes-per-pixel for a JuicyPixels 'Pixel' type. juicyPixelStride :: forall a proxy. Pixel a => proxy a -> Int-juicyPixelStride _ = +juicyPixelStride _ = sizeOf (undefined :: PixelBaseComponent a) * componentCount (undefined :: a) -- | Read frames from a video stream.@@ -138,7 +137,7 @@ -- function is applied to 'Nothing', the output stream is closed. Note -- that 'Nothing' /must/ be provided when finishing in order to -- properly terminate video encoding.--- +-- -- Support for source images that are of a different size to the -- output resolution is limited to non-palettized destination formats -- (i.e. those that are handled by @libswscaler@). Practically, this