annotate loader/dshow/guids.h @ 37089:86893b300a45

alsa: Better volume control handling, especially for S/PDIF. If no mixer channel was specified and PCM does not exist, just pick the first. If no volume control is available, at least support mute and full volume switching if a playback switch exists. This is also useful for being able to unmute S/PDIF devices. Especially useful since there seem to be several driver/ALSA bugs that mean these devices often start as muted after every boot.
author reimar
date Tue, 06 May 2014 19:02:03 +0000
parents c121d03db8b9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 24428
diff changeset
1 #ifndef MPLAYER_GUIDS_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 24428
diff changeset
2 #define MPLAYER_GUIDS_H
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
3
24428
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
4 /*
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
5 this will be defined if <ole2.h> already included before this file
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
6 under MinGW
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
7 */
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
8
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
9 #ifndef GUID_DEFINED
30170
008338d7679f Drop -Iloader from CPPFLAGS for the loader subdirectory.
diego
parents: 26045
diff changeset
10 #include "loader/com.h"
24428
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
11 #endif
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
12
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
13 #ifndef VFWAPI
30170
008338d7679f Drop -Iloader from CPPFLAGS for the loader subdirectory.
diego
parents: 26045
diff changeset
14 #include "loader/wine/module.h"
008338d7679f Drop -Iloader from CPPFLAGS for the loader subdirectory.
diego
parents: 26045
diff changeset
15 #include "loader/wine/windef.h"
008338d7679f Drop -Iloader from CPPFLAGS for the loader subdirectory.
diego
parents: 26045
diff changeset
16 #include "loader/wine/vfw.h"
24428
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
17 #endif
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
18
4691811bd8c7 Move AM_MEDIA_TYPE structure definition to mediatype.h.
voroshil
parents: 8292
diff changeset
19 #include "mediatype.h"
2069
ce45cce7f7a5 sync with avifile
arpi
parents: 1545
diff changeset
20
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
21 //#define Debug if(1)
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
22 #define Debug if(0)
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
23
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
24
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 typedef long long REFERENCE_TIME;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
26
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
27 typedef struct __attribute__((__packed__)) RECT32
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
28 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
29 int left, top, right, bottom;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
30 } RECT32;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
31
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
32 typedef struct __attribute__((__packed__)) tagVIDEOINFOHEADER
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
33 {
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
34 RECT32 rcSource; // The bit we really want to use
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
35 RECT32 rcTarget; // Where the video should go
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
36 unsigned long dwBitRate; // Approximate bit data rate
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
37 unsigned long dwBitErrorRate; // Bit error rate for this stream
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
38 REFERENCE_TIME AvgTimePerFrame; // Average time per frame (100ns units)
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
39 BITMAPINFOHEADER bmiHeader;
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
40 //int reserved[3];
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
41 } VIDEOINFOHEADER;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
42
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
43 typedef GUID CLSID;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
44 typedef GUID IID;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
45
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
46 extern const GUID IID_IBaseFilter;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
47 extern const GUID IID_IEnumPins;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
48 extern const GUID IID_IEnumMediaTypes;
30824
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30306
diff changeset
49 extern const GUID IID_IFilterGraph;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
50 extern const GUID IID_IMemInputPin;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
51 extern const GUID IID_IMemAllocator;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
52 extern const GUID IID_IMediaSample;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
53 extern const GUID IID_DivxHidden;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
54 extern const GUID IID_Iv50Hidden;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
55 extern const GUID CLSID_DivxDecompressorCF;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
56 extern const GUID IID_IDivxFilterInterface;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
57 extern const GUID CLSID_IV50_Decoder;
30824
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30306
diff changeset
58 extern const GUID CLSID_FilterGraph;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
59 extern const GUID CLSID_MemoryAllocator;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
60 extern const GUID MEDIATYPE_Video;
30306
d0b5ec16fb23 Hack to avoid a GUID_NULL clash on 64 bit MinGW.
reimar
parents: 30170
diff changeset
61 // avoid a clash with MinGW-W64 libuuid
d0b5ec16fb23 Hack to avoid a GUID_NULL clash on 64 bit MinGW.
reimar
parents: 30170
diff changeset
62 #define GUID_NULL MP_GUID_NULL
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
63 extern const GUID GUID_NULL;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
64 extern const GUID FORMAT_VideoInfo;
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
65 extern const GUID MEDIASUBTYPE_RGB1;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
66 extern const GUID MEDIASUBTYPE_RGB4;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
67 extern const GUID MEDIASUBTYPE_RGB8;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
68 extern const GUID MEDIASUBTYPE_RGB565;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
69 extern const GUID MEDIASUBTYPE_RGB555;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
70 extern const GUID MEDIASUBTYPE_RGB24;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
71 extern const GUID MEDIASUBTYPE_RGB32;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
72 extern const GUID MEDIASUBTYPE_YUYV;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
73 extern const GUID MEDIASUBTYPE_IYUV;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
74 extern const GUID MEDIASUBTYPE_YVU9;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
75 extern const GUID MEDIASUBTYPE_Y411;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
76 extern const GUID MEDIASUBTYPE_Y41P;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
77 extern const GUID MEDIASUBTYPE_YUY2;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
78 extern const GUID MEDIASUBTYPE_YVYU;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
79 extern const GUID MEDIASUBTYPE_UYVY;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
80 extern const GUID MEDIASUBTYPE_Y211;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
81 extern const GUID MEDIASUBTYPE_YV12;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
82 extern const GUID MEDIASUBTYPE_I420;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 6527
diff changeset
83 extern const GUID MEDIASUBTYPE_IF09;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
84
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
85 extern const GUID FORMAT_WaveFormatEx;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
86 extern const GUID MEDIATYPE_Audio;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
87 extern const GUID MEDIASUBTYPE_PCM;
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
88
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 24428
diff changeset
89 #endif /* MPLAYER_GUIDS_H */