Exemple #1
0
        public void Trim_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Trim>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Start = 2D;
            filterValue.Append("trim=start=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.End = 2D;
            filterValue.Append(":end=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StartPts = 2D;
            filterValue.Append(":start_pts=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.EndPts = 2D;
            filterValue.Append(":end_pts=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StartFrame = 2D;
            filterValue.Append(":start_frame=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.EndFrame = 2D;
            filterValue.Append(":end_frame=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = 2D;
            filterValue.Append(":duration=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #2
0
        public void ColorBalance_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <ColorBalance>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.ShadowRed   = .3m;
            filter.ShadowGreen = .3m;
            filter.ShadowBlue  = .3m;
            filterValue.Append("colorbalance=rs=0.3:gs=0.3:bs=0.3");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.MidtonesRed   = .3m;
            filter.MidtonesGreen = .3m;
            filter.MidtonesBlue  = .3m;
            filterValue.Append(":rm=0.3:gm=0.3:bm=0.3");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.HighlightsRed   = .3m;
            filter.HighlightsGreen = .3m;
            filter.HighlightsBlue  = .3m;
            filterValue.Append(":rh=0.3:gh=0.3:bh=0.3");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #3
0
        public void Movie_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Movie>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Resource = Resource.From(Assets.Utilities.GetAudioFile());
            filterValue.AppendFormat("movie=filename={0}", filter.Resource.FullName);
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.FormatName = "mp4";
            filterValue.Append(":f=mp4");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Streams = "qa";
            filterValue.Append(":s=qa");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.SeekPoint = 2D;
            filterValue.Append(":sp=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StreamIndex = 1;
            filterValue.Append(":si=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Loop = 2;
            filterValue.Append(":loop=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #4
0
        public void Volume_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Volume>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Expression = "0.5";
            filterValue.Append("volume=volume=0.5");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.ReplayGainPreamp = 2.2D;
            filterValue.Append(":replaygain_preamp=2.2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Precision = VolumePrecisionType.Double;
            filterValue.Append(":precision=double");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.ReplayGain = VolumeReplayGainType.Ignore;
            filterValue.Append(":replaygain=ignore");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Eval = VolumeExpressionEvalType.Frame;
            filterValue.Append(":eval=frame");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #5
0
        public void AEvalSrc_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <AEvalSrc>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Expression = "boom";
            filterValue.Append("aevalsrc=exprs=boom");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.ChannelLayout = "FL+CL";
            filterValue.Append(":c=FL+CL");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = TimeSpan.FromSeconds(3.222);
            filterValue.Append(":d=00:00:03.222");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.SampleRate = 48000;
            filterValue.Append(":s=48000");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.NumberOfSamples = 2;
            filterValue.Append(":n=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #6
0
        public void Color_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Hudl.FFmpeg.Filters.Color>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.ColorName = "black";
            filterValue.Append("color=c=black");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Size = new Size(200, 200);
            filterValue.Append(":s=200x200");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.FrameRate = 30;
            filterValue.Append(":r=30");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = TimeSpan.FromSeconds(3.222);
            filterValue.Append(":d=00:00:03.222");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.SampleAspectRatio = Ratio.Create(1, 1);
            filterValue.Append(":sar=1/1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #7
0
        public void Fade_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Fade>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.TransitionType = FadeTransitionType.Out;
            filterValue.Append("fade=t=out");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StartFrame = 1D;
            filterValue.Append(":s=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.NumberOfFrames = 2D;
            filterValue.Append(":n=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StartTime = 2D;
            filterValue.Append(":st=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = 2D;
            filterValue.Append(":d=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Alpha = true;
            filterValue.Append(":alpha=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Color = "blue";
            filterValue.Append(":c=blue");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #8
0
        public void AFade_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <AFade>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.TransitionType = FadeTransitionType.Out;
            filterValue.Append("afade=t=out");
            var sss = FilterSerializer.Serialize(filter);

            Assert.Equal(sss, filterValue.ToString());

            filter.CurveType = FadeCurveType.Cub;
            filterValue.Append(":curve=cub");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StartSample = 1D;
            filterValue.Append(":ss=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.NumberOfSamples = 2D;
            filterValue.Append(":ns=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.StartTime = 2D;
            filterValue.Append(":st=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = 2D;
            filterValue.Append(":d=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #9
0
        public void Overlay_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Overlay>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.X = "1";
            filterValue.Append("overlay=x=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Y = "1";
            filterValue.Append(":y=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Eval = OverlayVideoEvalType.Init;
            filterValue.Append(":eval=init");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.EofAction = OverlayEofActionType.Pass;
            filterValue.Append(":eof_action=pass");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Format = OverlayVideoFormatType.Yuv444;
            filterValue.Append(":format=yuv444");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
        private void WriteFilter(IFilter filter, FilterBindingContext context)
        {
            if (filter == null)
            {
                throw new ArgumentNullException("filter");
            }

            BuilderBase.Append(FilterSerializer.Serialize(filter, context));
        }
Exemple #11
0
        public void SetSar_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <SetSar>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Ratio = new Ratio(1, 1);
            filterValue.Append("setsar=sar=1/1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #12
0
        public void BoxBlur_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <BoxBlur>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Expression = "15:1";
            filterValue.Append("boxblur=15:1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #13
0
        public void Split_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Split>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.NumberOfStreams = 3;
            filterValue.Append("split=3");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #14
0
        public void SetPts_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <SetPts>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Expression = SetPts.ResetPtsExpression;
            filterValue.Append("setpts=expr=PTS-STARTPTS");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #15
0
        public void Fps_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Fps>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.FrameRate = 29.97;
            filterValue.Append("fps=fps=29.97");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #16
0
        public void Blend_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Blend>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Option     = BlendVideoOptionType.all_expr;
            filter.Expression = "A*(if(gte(T,{0}),1,T/{0}))+B*(1-(if(gte(T,{0}),1,T/{0})))";
            filterValue.Append("blend=all_expr='A*(if(gte(T,{0}),1,T/{0}))+B*(1-(if(gte(T,{0}),1,T/{0})))'");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #17
0
        public void Crop_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Crop>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Width  = 2;
            filter.Height = 2;
            filterValue.Append("crop=w=2:h=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.X = 2;
            filter.Y = 2;
            filterValue.Append(":x=2:y=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #18
0
        public void ANullSrc_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <ANullSrc>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.ChannelLayout = "FL+CL";
            filterValue.Append("anullsrc=cl=FL+CL");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.SampleRate = 48000;
            filterValue.Append(":r=48000");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.NumberOfSamples = 2;
            filterValue.Append(":n=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #19
0
        public void AMix_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <AMix>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Inputs = 3;
            filterValue.Append("amix=inputs=3");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.DropoutTransition = 2D;
            filterValue.Append(":dropout_transition=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = DurationType.First;
            filterValue.Append(":duration=first");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #20
0
        public void Concat_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Concat>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.NumberOfVideoOut = 2;
            filterValue.Append("concat=v=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.NumberOfAudioOut = 2;
            filterValue.Append(":a=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.UnsafeMode = true;
            filterValue.Append(":unsafe");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #21
0
        public void APad_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <APad>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.PacketSize = 2;
            filterValue.Append("apad=packet_size=2");
            var sss = FilterSerializer.Serialize(filter);

            Assert.Equal(sss, filterValue.ToString());

            filter.PadLength = 2;
            filterValue.Append(":pad_len=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.WholeLength = 2;
            filterValue.Append(":whole_len=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #22
0
        public void Pad_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Pad>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Width  = 2;
            filter.Height = 2;
            filterValue.Append("pad=w=2:h=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.X = 2;
            filter.Y = 2;
            filterValue.Append(":x=2:y=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Color = "blue";
            filterValue.Append(":color=blue");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #23
0
        public void Scale_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <Scale>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Width  = 2;
            filter.Height = 2;
            filterValue.Append("scale=w=2:h=2");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Interlacing = 1;
            filterValue.Append(":interl=1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Flags = "lanczos";
            filterValue.Append(":flags=lanczos");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.InColorMatrix = VideoScalingColorMatrixType.Bt601;
            filterValue.Append(":in_color_matrix=bt601");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.OutColorMatrix = VideoScalingColorMatrixType.Bt601;
            filterValue.Append(":out_color_matrix=bt601");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.InRange = VideoScalingRangeType.Mpeg_Tv;
            filterValue.Append(":in_range=mpeg/tv");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.OutRange = VideoScalingRangeType.Mpeg_Tv;
            filterValue.Append(":out_range=mpeg/tv");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.ForceAspectRatio = VideoScalingAspectRatioType.Increase;
            filterValue.Append(":force_original_aspect_ratio=increase");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #24
0
        public void NullSrc_Verify()
        {
            var filter      = FilterFactory.CreateEmpty <NullSrc>();
            var filterValue = new StringBuilder(100);

            Assert.DoesNotThrow(() => FilterSerializer.Serialize(filter));

            filter.Size = new Size(200, 200);
            filterValue.Append("nullsrc=s=200x200");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.FrameRate = 30;
            filterValue.Append(":r=30");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.Duration = TimeSpan.FromSeconds(3.222);
            filterValue.Append(":d=00:00:03.222");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));

            filter.SampleAspectRatio = Ratio.Create(1, 1);
            filterValue.Append(":sar=1/1");
            Assert.Equal(filterValue.ToString(), FilterSerializer.Serialize(filter));
        }
Exemple #25
0
        public void SetUp()
        {
            _column  = new ColumnBuilder().Build();
            _columns = new List <Column> {
                _column
            };

            _mockNullSerializer     = new Mock <INullFilterSerializer>();
            _mockBooleanSerializer  = new Mock <IBooleanFilterSerializer>();
            _mockDateTimeSerializer = new Mock <IDateTimeFilterSerializer>();
            _mockFloatSerializer    = new Mock <IFloatFilterSerializer>();
            _mockIntegerSerializer  = new Mock <IIntegerFilterSerializer>();
            _mockStringSerializer   = new Mock <IStringFilterSerializer>();
            _mockImageSerializer    = new Mock <IImageFilterSerializer>();

            _serializer = new FilterSerializer(
                _mockNullSerializer.Object,
                _mockBooleanSerializer.Object,
                _mockDateTimeSerializer.Object,
                _mockFloatSerializer.Object,
                _mockIntegerSerializer.Object,
                _mockStringSerializer.Object,
                _mockImageSerializer.Object);
        }