changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/gstreamer/play.lisp

changeset 698: 96958d3eb5b0
parent: 2ce4891d0661
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
475
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 ;;; play.lisp --- Gstreamer FFI Play API
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 ;; 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 ;;; Code:
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 (in-package :gstreamer)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 (define-alien-loader gst-play t "/usr/lib/" "gstplay-1.0")
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 (eval-always
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
   (define-opaque gst-play)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
   (define-opaque gst-play-class)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
   (define-opaque gst-play-signal-adapter)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
   (define-opaque gst-play-signal-adapter-class)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
   (define-opaque gst-play-video-renderer)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
   (define-opaque gst-play-video-renderer-interface))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
 (define-alien-type gst-play-video-renderer-interface-t
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
   (struct gst-play-video-renderer-interface
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
           (parent-iface gtype-interface)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
           (gst-element (* t))))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
 (define-alien-routine gst-play-state-get-type gtype)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 (define-alien-routine gst-play-error-quark gquark)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 ;; (gst-play-state-get-type)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
 (define-alien-routine gst-play-error-get-type gtype)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
 (define-alien-enum (gst-play-error int)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
                    :failed 0)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
 (define-alien-routine gst-play-error-get-name c-string (error gst-play-error))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
33
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 (define-alien-enum (gst-play-state int)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
                    :stopped 0
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
36
                    :buffering 1
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
                    :paused 2
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
                    :playing 3)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
 (define-alien-routine gst-play-state-get-name c-string (state gst-play-state))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
41
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
 (define-alien-enum (gst-play-message int)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
43
                    :uri-loaded 0
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
44
                    :position-updated 1
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
                    :duration-changed 2
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
46
                    :state-changed 3
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
47
                    :buffering 4
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
48
                    :end-of-stream 5
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
49
                    :error 6
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
50
                    :warning 7
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
51
                    :video-dimensions-changed 8
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
52
                    :media-info-updated 9
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
53
                    :volume-changed 10
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
54
                    :mute-changed 11
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
55
                    :seek-done 12)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
56
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
57
 (define-alien-routine gst-play-message-get-name c-string (message-type gst-play-message))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
59
 (define-alien-routine gst-play-get-type gtype)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
60
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
61
 (define-alien-routine gst-play-new (* gst-play) (video-renderer (* gst-play-video-renderer)))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
62