summaryrefslogtreecommitdiff
path: root/gstreamer-sharp/baseplugins/playbin.custom
blob: 073e04392e888f210582bc333af807742a71bdfe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
[GLib.Property ("stream-info-value-array") ]
public StreamInfo[] StreamInfos {
  get {
    GLib.Value val = GetProperty ("stream-info-value-array");
    GLib.ValueArray va = (GLib.ValueArray) val;
    StreamInfo[] ret = new StreamInfo[va.Count];
    for (int i = 0; i < va.Count; i++)
      ret[i] = (StreamInfo) va[i];

    va.Dispose ();
    val.Dispose ();
    return ret;
  }
}

public class StreamInfo : GLib.Object {

  [GLib.Property ("object") ]
  public Gst.Object Object {
    get {
      GLib.Value val = GetProperty ("object");
      Gst.Object ret = (Gst.Object) val;
      val.Dispose ();
      return ret;
    }
  }

  [GLib.Property ("type") ]
  public StreamType Type {
    get {
      GLib.Value val = GetProperty ("type");
      StreamType ret = (StreamType) val;
      val.Dispose ();
      return ret;
    }
  }

  [GLib.Property ("decoder") ]
  public string Decoder {
    get {
      GLib.Value val = GetProperty ("decoder");
      string ret = (string) val;
      val.Dispose ();
      return ret;
    }
  }

  [GLib.Property ("mute") ]
  public bool Mute {
    get {
      GLib.Value val = GetProperty ("mute");
      bool ret = (bool) val;
      val.Dispose ();
      return ret;
    }
    set {
      GLib.Value val = new GLib.Value (this, "mute");
      val.Val = value;
      SetProperty ("mute", val);
      val.Dispose ();
    }
  }


  [GLib.Property ("caps") ]
  public Gst.Caps Caps {
    get {
      GLib.Value val = GetProperty ("caps");
      Gst.Caps ret = (Gst.Caps) val;
      val.Dispose ();
      return ret;
    }
  }

  [GLib.Property ("language-code") ]
  public string LanguageCode {
    get {
      GLib.Value val = GetProperty ("language-code");
      string ret = (string) val;
      val.Dispose ();
      return ret;
    }
  }

  [GLib.Property ("codec") ]
  public string Codec {
    get {
      GLib.Value val = GetProperty ("codec");
      string ret = (string) val;
      val.Dispose ();
      return ret;
    }
  }

  public delegate void MutedHandler (object o, MutedArgs args);

  public class MutedArgs : GLib.SignalArgs {
    public bool Mute {
      get {
        return (bool) Args[0];
      }
    }

  }

  private Delegate Muted_delegate;

  protected virtual void OnMuted (object o, GLib.SignalArgs args) {
    BindingHelper.InvokeProxySignalDelegate (Muted_delegate, typeof (MutedArgs), o, args);
  }

  public event MutedHandler Muted {
    add {
      Muted_delegate = BindingHelper.AddProxySignalDelegate (this, "muted", OnMuted, Muted_delegate, value);
    }

    remove {
      Muted_delegate = BindingHelper.RemoveProxySignalDelegate (this, "muted", OnMuted, Muted_delegate, value);
    }
  }

  [GTypeName ("GstStreamType") ]
  public enum StreamType {
    Unknown = 0,
    Audio = 1,
    Video = 2,
    Text = 3,
    Subpicture = 4,
    Element = 5
  }
}