Skip to content

Commit 263ecfc

Browse files
committed
Add more player tests.
1 parent 0c2a9f8 commit 263ecfc

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

video/info.rkt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@
3131
;; We do not use most of the 'datatype' fields directly,
3232
;; so don't count them in the line count.
3333
;; This file WILL be run by inclusion with other modules.
34-
'("private/ffmpeg/data.rkt"))
34+
'("private/ffmpeg/data.rkt"
35+
"private/ffmpeg/lib.rkt"))

video/private/video-canvas.rkt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@
196196
(set! buff (gen-vertex-buff vert-coords))
197197
(set! buff-id 0)
198198
(set! uv-buff (gen-vertex-buff uv-coords))
199-
(set! buff-id 1)
199+
(set! uv-id 1)
200200
;; Set up a texture buffer (maybe run later)
201201
(set! tex-buff (gen-tex-buff))
202202
;; Compile and run the shaders
@@ -381,7 +381,10 @@
381381
(if play-audio?
382382
(send audio-buffer add-frame out-frame)
383383
(av-frame-free out-frame))
384-
(loop)))]
384+
(if (call-with-semaphore stop-writing-semaphore
385+
(λ () (eq? stop-writing-flag 'running)))
386+
(loop)
387+
eof)))]
385388
[('audio 'close)
386389
(when (and play-audio? stop-audio)
387390
(stop-audio))]
@@ -406,7 +409,8 @@
406409
(ptr-add (array-ref (av-frame-data out-frame) 0)
407410
(* i linesize))))))
408411
(av-frame-free out-frame)
409-
(when (call-with-semaphore stop-writing-semaphore
410-
(λ () (eq? stop-writing-flag 'running)))
411-
(loop))))]
412+
(if (call-with-semaphore stop-writing-semaphore
413+
(λ () (eq? stop-writing-flag 'running)))
414+
(loop)
415+
eof)))]
412416
[(_ _) (void)])])))))

video/tests/player.rkt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,13 @@
1919
(require rackunit
2020
racket/gui/base
2121
"../player.rkt"
22+
"../base.rkt"
2223
"../private/video-canvas.rkt"
24+
"../private/utils.rkt"
2325
(prefix-in green: "green.vid"))
2426

27+
(define vid-mp4 (build-path video-dir "examples/vid.mp4"))
28+
2529
(let ()
2630
(define f (new frame% [label "foo"]))
2731
(define c (new video-canvas%
@@ -52,3 +56,15 @@
5256
(define p (preview green:vid))
5357
(send p stop)
5458
(send p show #f))
59+
60+
(let p ()
61+
(define p (preview green:vid))
62+
(sleep 3)
63+
(send p stop)
64+
(send p show #f))
65+
66+
(let p ()
67+
(define p (preview (clip vid-mp4)))
68+
(sleep 3)
69+
(send p stop)
70+
(send p show #f))

0 commit comments

Comments
 (0)