fix(ffmpeg): 0s frame handling
* handle 0 duration * test: update golden files
This commit is contained in:
parent
f716d9b95b
commit
77554f272f
20 changed files with 15 additions and 2 deletions
|
|
@ -110,8 +110,10 @@ func (av *AVContext) SelectDuration(ts time.Duration) (err error) {
|
|||
if err = av.SeekDuration(ts); err != nil {
|
||||
return
|
||||
}
|
||||
return av.ProcessFrames(-1)
|
||||
} else {
|
||||
return av.ProcessFrames(1)
|
||||
}
|
||||
return av.ProcessFrames(-1)
|
||||
}
|
||||
|
||||
func (av *AVContext) SeekPosition(f float64) error {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ func TestAVContext(t *testing.T) {
|
|||
require.NoError(t, os.MkdirAll(baseDir+"golden/export", 0755))
|
||||
t.Parallel()
|
||||
for _, filename := range files {
|
||||
for _, n := range []int{-1, 5, 10, 9999, 99999} {
|
||||
for _, n := range []int{-1, 1, 5, 10, 9999, 99999} {
|
||||
name := filename
|
||||
if n > -1 {
|
||||
name = fmt.Sprintf("%s-%d", filename, n)
|
||||
|
|
@ -84,6 +84,8 @@ func TestAVContext(t *testing.T) {
|
|||
require.NoError(t, av.SelectDuration(time.Second))
|
||||
} else if n == 9999 {
|
||||
require.NoError(t, av.SelectPosition(0.7))
|
||||
} else if n == 1 {
|
||||
require.NoError(t, av.SelectDuration(0))
|
||||
} else if n == 5 {
|
||||
require.NoError(t, av.SelectFrame(n))
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue