This source file includes following definitions.
- snd_media_device_create
- snd_media_device_delete
- snd_media_stream_init
- snd_media_stream_delete
- snd_media_start_pipeline
- snd_media_stop_pipeline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #ifndef __MEDIA_H
19
20 #ifdef CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER
21
22 #include <linux/media.h>
23 #include <media/media-device.h>
24 #include <media/media-entity.h>
25 #include <media/media-dev-allocator.h>
26 #include <sound/asound.h>
27
28 struct media_ctl {
29 struct media_device *media_dev;
30 struct media_entity media_entity;
31 struct media_intf_devnode *intf_devnode;
32 struct media_link *intf_link;
33 struct media_pad media_pad;
34 struct media_pipeline media_pipe;
35 };
36
37
38
39
40
41
42 #define MEDIA_MIXER_PAD_MAX (SNDRV_PCM_STREAM_LAST + 2)
43
44 struct media_mixer_ctl {
45 struct media_device *media_dev;
46 struct media_entity media_entity;
47 struct media_intf_devnode *intf_devnode;
48 struct media_link *intf_link;
49 struct media_pad media_pad[MEDIA_MIXER_PAD_MAX];
50 struct media_pipeline media_pipe;
51 };
52
53 int snd_media_device_create(struct snd_usb_audio *chip,
54 struct usb_interface *iface);
55 void snd_media_device_delete(struct snd_usb_audio *chip);
56 int snd_media_stream_init(struct snd_usb_substream *subs, struct snd_pcm *pcm,
57 int stream);
58 void snd_media_stream_delete(struct snd_usb_substream *subs);
59 int snd_media_start_pipeline(struct snd_usb_substream *subs);
60 void snd_media_stop_pipeline(struct snd_usb_substream *subs);
61 #else
62 static inline int snd_media_device_create(struct snd_usb_audio *chip,
63 struct usb_interface *iface)
64 { return 0; }
65 static inline void snd_media_device_delete(struct snd_usb_audio *chip) { }
66 static inline int snd_media_stream_init(struct snd_usb_substream *subs,
67 struct snd_pcm *pcm, int stream)
68 { return 0; }
69 static inline void snd_media_stream_delete(struct snd_usb_substream *subs) { }
70 static inline int snd_media_start_pipeline(struct snd_usb_substream *subs)
71 { return 0; }
72 static inline void snd_media_stop_pipeline(struct snd_usb_substream *subs) { }
73 #endif
74 #endif