Compare commits
6 Commits
0.2.0
...
83ae7358c1
Author | SHA1 | Date | |
---|---|---|---|
83ae7358c1 | |||
d90f123059 | |||
a21139193e | |||
fb64ecafe7 | |||
284a9a3f29 | |||
8343727924 |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
@ -1,67 +1,67 @@
|
||||
VNUM TYPE MODEL NAME REG_1 REG_2 REG_3 REG_4 XROT_LIMIT YROT_LIMIT ZROT_LIMIT PRICE MATERIALS NPC GROUP DEPEND_GROUP ???????
|
||||
14013 FACILITY jedan Fegyverkov<EFBFBD>cs -525 -525 525 525 0 0 360 20000000 90010,20/90011,30/90012,20 20044 2 1 1
|
||||
14014 FACILITY jedan Felszerel<EFBFBD>s kov<6F>cs -525 -525 525 525 0 0 360 20000000 90010,20/90011,30/90012,20 20045 2 1 1
|
||||
14015 FACILITY jedan <EFBFBD>kszer<EFBFBD>sz -525 -525 525 525 0 0 360 20000000 90010,20/90011,30/90012,20 20046 2 1 1
|
||||
14033 FACILITY suryeonjang Kik<EFBFBD>pz<EFBFBD> k<>zpont -832.57 -472.99 832.57 472.99 0 0 360 20000000 90010,25/90011,25/90012,25 0 0 0 2
|
||||
14043 FACILITY yonggwangro Gy<EFBFBD>m<EFBFBD>nt koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20060 3 1 1
|
||||
14045 FACILITY yonggwangro Fosszilis fa koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20062 3 1 1
|
||||
14046 FACILITY yonggwangro R<EFBFBD>z koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20063 3 1 1
|
||||
14047 FACILITY yonggwangro Ez<EFBFBD>st koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20064 3 1 1
|
||||
14048 FACILITY yonggwangro Arany koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20065 3 1 1
|
||||
14049 FACILITY yonggwangro J<EFBFBD>de koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20066 3 1 1
|
||||
14050 FACILITY yonggwangro <EFBFBD>benfa koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20067 3 1 1
|
||||
14051 FACILITY yonggwangro Gy<EFBFBD>ngy koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20068 3 1 1
|
||||
14052 FACILITY yonggwangro Feh<EFBFBD>rarany koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20069 3 1 1
|
||||
14053 FACILITY yonggwangro Krist<73>ly koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20070 3 1 1
|
||||
14054 FACILITY yonggwangro Ametiszt koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20071 3 1 1
|
||||
14055 FACILITY yonggwangro Mennyei k<>nny koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26992 FACILITY yonggwangro L<EFBFBD>lekkrist<EFBFBD>ly koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26993 FACILITY yonggwangro Rubin koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26994 FACILITY yonggwangro Gr<EFBFBD>n<EFBFBD>t koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26995 FACILITY yonggwangro Smaragd koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26996 FACILITY yonggwangro Zaf<EFBFBD>r koh<6F> -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
14061 FACILITY himuijedan_01 Az Er<45> olt<6C>ra -523.91 -995.84 527.55 750.99 0 0 360 25000000 90010,25/90011,25/90012,25 20077 4 1 1
|
||||
14062 FACILITY himuijedan_02 Az Er<45> olt<6C>ra -586.17 -995.84 587.18 818.56 0 0 360 500000000 90010,50/90011,50/90012,50 20078 4 4 2
|
||||
14063 FACILITY himuijedan_03 Az Er<45> olt<6C>ra -664.7 -995.84 665.7 896.57 0 0 360 750000000 90010,75/90011,75/90012,75 20079 4 4 2
|
||||
14100 HEADQUARTER a1-011-workhouse H<EFBFBD>z (1) -676.52 -894.26 690.18 749.32 0 0 360 20000000 90010,20/90011,30/90012,25 0 1 0 1
|
||||
14101 OBJECT a1-038-wall-corner K<EFBFBD>fal (1-1) -400 -153.53 156.48 400 0 0 360 2000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14102 OBJECT a1-038-wall-lin K<EFBFBD>fal (1-2) -200 -106.73 300 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14103 OBJECT a1-038-wall-lin2 K<EFBFBD>fal (1-3) -500 -106.73 500 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14104 OBJECT a1-038-wall-door Kapu (1) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 2
|
||||
14105 BUILDIN a1-set Fal (1) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 1
|
||||
14110 HEADQUARTER b1-011-workhouse H<EFBFBD>z (2) -678.76 -894.26 687.94 749.32 0 0 360 20000000 90010,20/90011,30/90012,25 0 1 0 1
|
||||
14111 OBJECT b1-038-wall-corner K<EFBFBD>fal (2-1) -400 -153.53 156.48 400 0 0 360 2000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14112 OBJECT b1-038-wall-lin K<EFBFBD>fal (2-2) -200 -106.73 300 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14113 OBJECT b1-038-wall-lin2 K<EFBFBD>fal (2-3) -500 -106.73 500 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14114 OBJECT b1-038-wall-door Kapu (3) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 2
|
||||
14115 BUILDIN b1-set Fal (2) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 1
|
||||
14120 HEADQUARTER c1-011-workhouse H<EFBFBD>z (3) -676.52 -894.26 690.18 749.32 0 0 360 20000000 90010,20/90011,30/90012,25 0 1 0 1
|
||||
14121 OBJECT c1-038-wall-corner K<EFBFBD>fal (3-1) -400 -153.53 156.48 400 0 0 360 2000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14122 OBJECT c1-038-wall-lin K<EFBFBD>fal (3-2) -200 -106.73 300 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14123 OBJECT c1-038-wall-lin2 K<EFBFBD>fal (3-3) -500 -106.73 500 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14124 OBJECT c1-038-wall-door Kapu (3) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 2
|
||||
14125 BUILDIN c1-set Fal (3) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 1
|
||||
14200 OBJECT guild_symbol C<EFBFBD>h jelv<6C>ny -45.9 -9.44 42.68 40.13 0 0 360 3000000 90011,5/90012,5 0 0 1 1
|
||||
14201 WALL fence01_door01 Homlokzati fal -1000 -54 1000 20 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14202 WALL fence01_back01 H<EFBFBD>ts<EFBFBD> fal -1000 -18 1000 18 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14203 WALL fence01_left01 Bal oldali fal -19 -1362 19 1362 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14204 WALL fence01_right01 Jobb oldali fal -18 -1362 18 1362 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14300 OBJECT general_obj_stone01 K<EFBFBD>1 -116.04 -118.44 116.04 118.44 0 0 360 300000 90010,5 0 0 0 1
|
||||
14301 OBJECT general_obj_stone02 K<EFBFBD>2 -118.05 -132.67 118.05 132.67 0 0 360 300000 90010,5 0 0 0 1
|
||||
14302 OBJECT general_obj_stone03 K<EFBFBD>3 -133.43 -102.96 133.43 102.96 0 0 360 300000 90010,7 0 0 0 1
|
||||
14303 OBJECT general_obj_stone04 K<EFBFBD>4 -104.21 -117.82 104.21 117.82 0 0 360 300000 90010,7 0 0 0 1
|
||||
14304 OBJECT general_obj_stone05 K<EFBFBD>5 -171.59 -145.52 171.59 145.52 0 0 360 300000 90010,7 0 0 0 1
|
||||
14305 OBJECT general_obj_stone06 K<EFBFBD>6 -192.74 -201.58 192.74 201.58 0 0 360 300000 90010,8 0 0 0 1
|
||||
14306 OBJECT general_obj_stone07 K<EFBFBD>7 -183.58 -184.01 183.58 184.01 0 0 360 300000 90010,8 0 0 0 1
|
||||
14307 OBJECT general_obj_stone08 K<EFBFBD>8 -66.89 -56.67 66.89 56.67 0 0 360 300000 90010,8 0 0 0 1
|
||||
14308 OBJECT general_obj_stone09 K<EFBFBD>9 -65.87 -53.47 65.87 53.47 0 0 360 300000 90010,9 0 0 0 1
|
||||
14309 OBJECT general_obj_stone10 K<EFBFBD>10 -182.17 -123.03 182.17 123.03 0 0 360 300000 90010,9 0 0 0 1
|
||||
14400 OBJECT B1_PagodaTree_RT Fa1 0 0 360 2000000 90011,5 0 0 0 1
|
||||
14401 OBJECT B1_PagodaTree_RT3 Fa2 0 0 360 2000000 90011,5 0 0 0 1
|
||||
14402 OBJECT B1_Sassafras_RT_Fall Fa3 0 0 360 2000000 90011,7 0 0 0 1
|
||||
14403 OBJECT B1_Sassafras_RT_Fall2 Fa4 0 0 360 2000000 90011,7 0 0 0 1
|
||||
14404 OBJECT B3_ShingleOak_RT2 Fa5 0 0 360 2000000 90011,7 0 0 0 1
|
||||
14405 OBJECT B2_IvySpy_RT Fa6 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14406 OBJECT B2_IvySpy_RT4 Fa7 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14407 OBJECT B2_JapaneseMaple_RT_Fall Fa8 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14408 OBJECT B2_JapaneseMaple_RT_Fall2 Fa9 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14013 FACILITY jedan Prelucrator de arme -525 -525 525 525 0 0 360 20000000 90010,20/90011,30/90012,20 20044 2 1 1
|
||||
14014 FACILITY jedan Armurier -525 -525 525 525 0 0 360 20000000 90010,20/90011,30/90012,20 20045 2 1 1
|
||||
14015 FACILITY jedan Bijutier -525 -525 525 525 0 0 360 20000000 90010,20/90011,30/90012,20 20046 2 1 1
|
||||
14033 FACILITY suryeonjang Punct de Instruire -832.57 -472.99 832.57 472.99 0 0 360 20000000 90010,25/90011,25/90012,25 0 0 0 2
|
||||
14043 FACILITY yonggwangro Prelucrator diamante -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20060 3 1 1
|
||||
14045 FACILITY yonggwangro Cuptor de lemn -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20062 3 1 1
|
||||
14046 FACILITY yonggwangro Turnatorie de cupru -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20063 3 1 1
|
||||
14047 FACILITY yonggwangro Prelucrator argint -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20064 3 1 1
|
||||
14048 FACILITY yonggwangro Prelucrator aur -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20065 3 1 1
|
||||
14049 FACILITY yonggwangro Prelucrator de jad -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20066 3 1 1
|
||||
14050 FACILITY yonggwangro Prelucrator abanos -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20067 3 1 1
|
||||
14051 FACILITY yonggwangro Prelucrator de perle -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20068 3 1 1
|
||||
14052 FACILITY yonggwangro Prelucrator aur alb -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20069 3 1 1
|
||||
14053 FACILITY yonggwangro Prelucrator cristal -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20070 3 1 1
|
||||
14054 FACILITY yonggwangro Prelucrator cuart -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20071 3 1 1
|
||||
14055 FACILITY yonggwangro Topitor Celest -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26992 FACILITY yonggwangro Prel. Cristal Spirit -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26993 FACILITY yonggwangro Prelucrator Rubin -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26994 FACILITY yonggwangro Prelucrator Granat -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26995 FACILITY yonggwangro Prelucrator Smarald -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
26996 FACILITY yonggwangro Prelucrator Safir -179.63 -199.89 179.63 199.89 0 0 360 20000000 90010,15/90011,20/90012,25 20072 3 1 1
|
||||
14061 FACILITY himuijedan_01 Altarul Puterii -523.91 -995.84 527.55 750.99 0 0 360 25000000 90010,25/90011,25/90012,25 20077 4 1 1
|
||||
14062 FACILITY himuijedan_02 Altarul Puterii -586.17 -995.84 587.18 818.56 0 0 360 500000000 90010,50/90011,50/90012,50 20078 4 4 2
|
||||
14063 FACILITY himuijedan_03 Altarul Puterii -664.7 -995.84 665.7 896.57 0 0 360 750000000 90010,75/90011,75/90012,75 20079 4 4 2
|
||||
14100 HEADQUARTER a1-011-workhouse Casa(1) -676.52 -894.26 690.18 749.32 0 0 360 20000000 90010,20/90011,30/90012,25 0 1 0 1
|
||||
14101 OBJECT a1-038-wall-corner Zid de piatra(1-1) -400 -153.53 156.48 400 0 0 360 2000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14102 OBJECT a1-038-wall-lin Zid de piatra(1-2) -200 -106.73 300 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14103 OBJECT a1-038-wall-lin2 Zid de piatra(1-3) -500 -106.73 500 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14104 OBJECT a1-038-wall-door Poarta(1) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 2
|
||||
14105 BUILDIN a1-set Zid(1) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 1
|
||||
14110 HEADQUARTER b1-011-workhouse Casa(2) -678.76 -894.26 687.94 749.32 0 0 360 20000000 90010,20/90011,30/90012,25 0 1 0 1
|
||||
14111 OBJECT b1-038-wall-corner Zid de piatra(2-1) -400 -153.53 156.48 400 0 0 360 2000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14112 OBJECT b1-038-wall-lin Zid de piatra(2-2) -200 -106.73 300 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14113 OBJECT b1-038-wall-lin2 Zid de piatra(2-3) -500 -106.73 500 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14114 OBJECT b1-038-wall-door Poarta(2) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 2
|
||||
14115 BUILDIN b1-set Zid(2) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 1
|
||||
14120 HEADQUARTER c1-011-workhouse Casa(3) -676.52 -894.26 690.18 749.32 0 0 360 20000000 90010,20/90011,30/90012,25 0 1 0 1
|
||||
14121 OBJECT c1-038-wall-corner Zid de piatra(3-1) -400 -153.53 156.48 400 0 0 360 2000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14122 OBJECT c1-038-wall-lin Zid de piatra(3-2) -200 -106.73 300 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14123 OBJECT c1-038-wall-lin2 Zid de piatra(3-3) -500 -106.73 500 106.73 0 0 360 1000000 90010,15/90011,5/90012,5 0 5 0 2
|
||||
14124 OBJECT c1-038-wall-door Poarta(3) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 2
|
||||
14125 BUILDIN c1-set Zid (3) -1000 -274.73 1000 274.73 0 0 360 2500000 90010,5/90011,15/90012,10 0 5 0 1
|
||||
14200 OBJECT guild_symbol Simbolul Aliantei -45.9 -9.44 42.68 40.13 0 0 360 3000000 90011,5/90012,5 0 0 1 1
|
||||
14201 WALL fence01_door01 Perete din fata -1000 -54 1000 20 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14202 WALL fence01_back01 Perete din spate -1000 -18 1000 18 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14203 WALL fence01_left01 Perete din stanga -19 -1362 19 1362 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14204 WALL fence01_right01 Perete din dreapta -18 -1362 18 1362 0 0 360 3000000 "90010.50" 0 0 1 1
|
||||
14300 OBJECT general_obj_stone01 Piatra1 -116.04 -118.44 116.04 118.44 0 0 360 300000 90010,5 0 0 0 1
|
||||
14301 OBJECT general_obj_stone02 Piatra2 -118.05 -132.67 118.05 132.67 0 0 360 300000 90010,5 0 0 0 1
|
||||
14302 OBJECT general_obj_stone03 Piatr<EFBFBD>3 -133.43 -102.96 133.43 102.96 0 0 360 300000 90010,7 0 0 0 1
|
||||
14303 OBJECT general_obj_stone04 Piatr<EFBFBD>4 -104.21 -117.82 104.21 117.82 0 0 360 300000 90010,7 0 0 0 1
|
||||
14304 OBJECT general_obj_stone05 Piatr<EFBFBD>5 -171.59 -145.52 171.59 145.52 0 0 360 300000 90010,7 0 0 0 1
|
||||
14305 OBJECT general_obj_stone06 Piatr<EFBFBD>6 -192.74 -201.58 192.74 201.58 0 0 360 300000 90010,8 0 0 0 1
|
||||
14306 OBJECT general_obj_stone07 Piatr<EFBFBD>7 -183.58 -184.01 183.58 184.01 0 0 360 300000 90010,8 0 0 0 1
|
||||
14307 OBJECT general_obj_stone08 Piatr<EFBFBD>8 -66.89 -56.67 66.89 56.67 0 0 360 300000 90010,8 0 0 0 1
|
||||
14308 OBJECT general_obj_stone09 Piatr<EFBFBD>9 -65.87 -53.47 65.87 53.47 0 0 360 300000 90010,9 0 0 0 1
|
||||
14309 OBJECT general_obj_stone10 Piatr<EFBFBD>10 -182.17 -123.03 182.17 123.03 0 0 360 300000 90010,9 0 0 0 1
|
||||
14400 OBJECT B1_PagodaTree_RT Padure1 0 0 360 2000000 90011,5 0 0 0 1
|
||||
14401 OBJECT B1_PagodaTree_RT3 Padure2 0 0 360 2000000 90011,5 0 0 0 1
|
||||
14402 OBJECT B1_Sassafras_RT_Fall Padure3 0 0 360 2000000 90011,7 0 0 0 1
|
||||
14403 OBJECT B1_Sassafras_RT_Fall2 Padure4 0 0 360 2000000 90011,7 0 0 0 1
|
||||
14404 OBJECT B3_ShingleOak_RT2 Padure5 0 0 360 2000000 90011,7 0 0 0 1
|
||||
14405 OBJECT B2_IvySpy_RT Padure6 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14406 OBJECT B2_IvySpy_RT4 Padure7 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14407 OBJECT B2_JapaneseMaple_RT_Fall Padure8 0 0 360 2000000 90011,9 0 0 0 1
|
||||
14408 OBJECT B2_JapaneseMaple_RT_Fall2 Padure9 0 0 360 2000000 90011,9 0 0 0 1
|
||||
|
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 561 KiB |
Before Width: | Height: | Size: 743 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 170 KiB |
BIN
extern/debug/lib/d3d8.lib
vendored
BIN
extern/debug/lib/d3dx8.lib
vendored
BIN
extern/debug/lib/d3dx8d.lib
vendored
433
extern/include/Amvideo.h
vendored
@ -1,433 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: AMVideo.h
|
||||
//
|
||||
// Desc: Video related definitions and interfaces for ActiveMovie.
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef __AMVIDEO__
|
||||
#define __AMVIDEO__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
#include <ddraw.h>
|
||||
|
||||
|
||||
// This is an interface on the video renderer that provides information about
|
||||
// DirectDraw with respect to its use by the renderer. For example it allows
|
||||
// an application to get details of the surface and any hardware capabilities
|
||||
// that are available. It also allows someone to adjust the surfaces that the
|
||||
// renderer should use and furthermore even set the DirectDraw instance. We
|
||||
// allow someone to set the DirectDraw instance because DirectDraw can only
|
||||
// be opened once per process so it helps resolve conflicts. There is some
|
||||
// duplication in this interface as the hardware/emulated/FOURCCs available
|
||||
// can all be found through the IDirectDraw interface, this interface allows
|
||||
// simple access to that information without calling the DirectDraw provider
|
||||
// itself. The AMDDS prefix is ActiveMovie DirectDraw Switches abbreviated.
|
||||
|
||||
#define AMDDS_NONE 0x00 // No use for DCI/DirectDraw
|
||||
#define AMDDS_DCIPS 0x01 // Use DCI primary surface
|
||||
#define AMDDS_PS 0x02 // Use DirectDraw primary
|
||||
#define AMDDS_RGBOVR 0x04 // RGB overlay surfaces
|
||||
#define AMDDS_YUVOVR 0x08 // YUV overlay surfaces
|
||||
#define AMDDS_RGBOFF 0x10 // RGB offscreen surfaces
|
||||
#define AMDDS_YUVOFF 0x20 // YUV offscreen surfaces
|
||||
#define AMDDS_RGBFLP 0x40 // RGB flipping surfaces
|
||||
#define AMDDS_YUVFLP 0x80 // YUV flipping surfaces
|
||||
#define AMDDS_ALL 0xFF // ALL the previous flags
|
||||
#define AMDDS_DEFAULT AMDDS_ALL // Use all available surfaces
|
||||
|
||||
#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
|
||||
#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
|
||||
#define AMDDS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
|
||||
|
||||
// be nice to our friends in C
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IDirectDrawVideo
|
||||
|
||||
DECLARE_INTERFACE_(IDirectDrawVideo, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
|
||||
// IDirectDrawVideo methods
|
||||
|
||||
STDMETHOD(GetSwitches)(THIS_ DWORD *pSwitches) PURE;
|
||||
STDMETHOD(SetSwitches)(THIS_ DWORD Switches) PURE;
|
||||
STDMETHOD(GetCaps)(THIS_ DDCAPS *pCaps) PURE;
|
||||
STDMETHOD(GetEmulatedCaps)(THIS_ DDCAPS *pCaps) PURE;
|
||||
STDMETHOD(GetSurfaceDesc)(THIS_ DDSURFACEDESC *pSurfaceDesc) PURE;
|
||||
STDMETHOD(GetFourCCCodes)(THIS_ DWORD *pCount,DWORD *pCodes) PURE;
|
||||
STDMETHOD(SetDirectDraw)(THIS_ LPDIRECTDRAW pDirectDraw) PURE;
|
||||
STDMETHOD(GetDirectDraw)(THIS_ LPDIRECTDRAW *ppDirectDraw) PURE;
|
||||
STDMETHOD(GetSurfaceType)(THIS_ DWORD *pSurfaceType) PURE;
|
||||
STDMETHOD(SetDefault)(THIS) PURE;
|
||||
STDMETHOD(UseScanLine)(THIS_ long UseScanLine) PURE;
|
||||
STDMETHOD(CanUseScanLine)(THIS_ long *UseScanLine) PURE;
|
||||
STDMETHOD(UseOverlayStretch)(THIS_ long UseOverlayStretch) PURE;
|
||||
STDMETHOD(CanUseOverlayStretch)(THIS_ long *UseOverlayStretch) PURE;
|
||||
STDMETHOD(UseWhenFullScreen)(THIS_ long UseWhenFullScreen) PURE;
|
||||
STDMETHOD(WillUseFullScreen)(THIS_ long *UseWhenFullScreen) PURE;
|
||||
};
|
||||
|
||||
|
||||
// be nice to our friends in C
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IQualProp
|
||||
|
||||
DECLARE_INTERFACE_(IQualProp, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
|
||||
// Compare these with the functions in class CGargle in gargle.h
|
||||
|
||||
STDMETHOD(get_FramesDroppedInRenderer)(THIS_ int *pcFrames) PURE; // Out
|
||||
STDMETHOD(get_FramesDrawn)(THIS_ int *pcFramesDrawn) PURE; // Out
|
||||
STDMETHOD(get_AvgFrameRate)(THIS_ int *piAvgFrameRate) PURE; // Out
|
||||
STDMETHOD(get_Jitter)(THIS_ int *iJitter) PURE; // Out
|
||||
STDMETHOD(get_AvgSyncOffset)(THIS_ int *piAvg) PURE; // Out
|
||||
STDMETHOD(get_DevSyncOffset)(THIS_ int *piDev) PURE; // Out
|
||||
};
|
||||
|
||||
|
||||
// This interface allows an application or plug in distributor to control a
|
||||
// full screen renderer. The Modex renderer supports this interface. When
|
||||
// connected a renderer should load the display modes it has available
|
||||
// The number of modes available can be obtained through CountModes. Then
|
||||
// information on each individual mode is available by calling GetModeInfo
|
||||
// and IsModeAvailable. An application may enable and disable any modes
|
||||
// by calling the SetEnabled flag with OATRUE or OAFALSE (not C/C++ TRUE
|
||||
// and FALSE values) - the current value may be queried by IsModeEnabled
|
||||
|
||||
// A more generic way of setting the modes enabled that is easier to use
|
||||
// when writing applications is the clip loss factor. This defines the
|
||||
// amount of video that can be lost when deciding which display mode to
|
||||
// use. Assuming the decoder cannot compress the video then playing an
|
||||
// MPEG file (say 352x288) into a 320x200 display will lose about 25% of
|
||||
// the image. The clip loss factor specifies the upper range permissible.
|
||||
// To allow typical MPEG video to be played in 320x200 it defaults to 25%
|
||||
|
||||
// be nice to our friends in C
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IFullScreenVideo
|
||||
|
||||
DECLARE_INTERFACE_(IFullScreenVideo, IUnknown)
|
||||
{
|
||||
// IUnknown methods
|
||||
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
|
||||
// IFullScreenVideo methods
|
||||
|
||||
STDMETHOD(CountModes)(THIS_ long *pModes) PURE;
|
||||
STDMETHOD(GetModeInfo)(THIS_ long Mode,long *pWidth,long *pHeight,long *pDepth) PURE;
|
||||
STDMETHOD(GetCurrentMode)(THIS_ long *pMode) PURE;
|
||||
STDMETHOD(IsModeAvailable)(THIS_ long Mode) PURE;
|
||||
STDMETHOD(IsModeEnabled)(THIS_ long Mode) PURE;
|
||||
STDMETHOD(SetEnabled)(THIS_ long Mode,long bEnabled) PURE;
|
||||
STDMETHOD(GetClipFactor)(THIS_ long *pClipFactor) PURE;
|
||||
STDMETHOD(SetClipFactor)(THIS_ long ClipFactor) PURE;
|
||||
STDMETHOD(SetMessageDrain)(THIS_ HWND hwnd) PURE;
|
||||
STDMETHOD(GetMessageDrain)(THIS_ HWND *hwnd) PURE;
|
||||
STDMETHOD(SetMonitor)(THIS_ long Monitor) PURE;
|
||||
STDMETHOD(GetMonitor)(THIS_ long *Monitor) PURE;
|
||||
STDMETHOD(HideOnDeactivate)(THIS_ long Hide) PURE;
|
||||
STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
|
||||
STDMETHOD(SetCaption)(THIS_ BSTR strCaption) PURE;
|
||||
STDMETHOD(GetCaption)(THIS_ BSTR *pstrCaption) PURE;
|
||||
STDMETHOD(SetDefault)(THIS) PURE;
|
||||
};
|
||||
|
||||
|
||||
// This adds the accelerator table capabilities in fullscreen. This is being
|
||||
// added between the original runtime release and the full SDK release. We
|
||||
// cannot just add the method to IFullScreenVideo as we don't want to force
|
||||
// applications to have to ship the ActiveMovie support DLLs - this is very
|
||||
// important to applications that plan on being downloaded over the Internet
|
||||
|
||||
// be nice to our friends in C
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IFullScreenVideoEx
|
||||
|
||||
DECLARE_INTERFACE_(IFullScreenVideoEx, IFullScreenVideo)
|
||||
{
|
||||
// IUnknown methods
|
||||
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
|
||||
// IFullScreenVideo methods
|
||||
|
||||
STDMETHOD(CountModes)(THIS_ long *pModes) PURE;
|
||||
STDMETHOD(GetModeInfo)(THIS_ long Mode,long *pWidth,long *pHeight,long *pDepth) PURE;
|
||||
STDMETHOD(GetCurrentMode)(THIS_ long *pMode) PURE;
|
||||
STDMETHOD(IsModeAvailable)(THIS_ long Mode) PURE;
|
||||
STDMETHOD(IsModeEnabled)(THIS_ long Mode) PURE;
|
||||
STDMETHOD(SetEnabled)(THIS_ long Mode,long bEnabled) PURE;
|
||||
STDMETHOD(GetClipFactor)(THIS_ long *pClipFactor) PURE;
|
||||
STDMETHOD(SetClipFactor)(THIS_ long ClipFactor) PURE;
|
||||
STDMETHOD(SetMessageDrain)(THIS_ HWND hwnd) PURE;
|
||||
STDMETHOD(GetMessageDrain)(THIS_ HWND *hwnd) PURE;
|
||||
STDMETHOD(SetMonitor)(THIS_ long Monitor) PURE;
|
||||
STDMETHOD(GetMonitor)(THIS_ long *Monitor) PURE;
|
||||
STDMETHOD(HideOnDeactivate)(THIS_ long Hide) PURE;
|
||||
STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
|
||||
STDMETHOD(SetCaption)(THIS_ BSTR strCaption) PURE;
|
||||
STDMETHOD(GetCaption)(THIS_ BSTR *pstrCaption) PURE;
|
||||
STDMETHOD(SetDefault)(THIS) PURE;
|
||||
|
||||
// IFullScreenVideoEx
|
||||
|
||||
STDMETHOD(SetAcceleratorTable)(THIS_ HWND hwnd,HACCEL hAccel) PURE;
|
||||
STDMETHOD(GetAcceleratorTable)(THIS_ HWND *phwnd,HACCEL *phAccel) PURE;
|
||||
STDMETHOD(KeepPixelAspectRatio)(THIS_ long KeepAspect) PURE;
|
||||
STDMETHOD(IsKeepPixelAspectRatio)(THIS_ long *pKeepAspect) PURE;
|
||||
};
|
||||
|
||||
|
||||
// The SDK base classes contain a base video mixer class. Video mixing in a
|
||||
// software environment is tricky because we typically have multiple streams
|
||||
// each sending data at unpredictable times. To work with this we defined a
|
||||
// pin that is the lead pin, when data arrives on this pin we do a mix. As
|
||||
// an alternative we may not want to have a lead pin but output samples at
|
||||
// predefined spaces, like one every 1/15 of a second, this interfaces also
|
||||
// supports that mode of operations (there is a working video mixer sample)
|
||||
|
||||
// be nice to our friends in C
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IBaseVideoMixer
|
||||
|
||||
DECLARE_INTERFACE_(IBaseVideoMixer, IUnknown)
|
||||
{
|
||||
STDMETHOD(SetLeadPin)(THIS_ int iPin) PURE;
|
||||
STDMETHOD(GetLeadPin)(THIS_ int *piPin) PURE;
|
||||
STDMETHOD(GetInputPinCount)(THIS_ int *piPinCount) PURE;
|
||||
STDMETHOD(IsUsingClock)(THIS_ int *pbValue) PURE;
|
||||
STDMETHOD(SetUsingClock)(THIS_ int bValue) PURE;
|
||||
STDMETHOD(GetClockPeriod)(THIS_ int *pbValue) PURE;
|
||||
STDMETHOD(SetClockPeriod)(THIS_ int bValue) PURE;
|
||||
};
|
||||
|
||||
#define iPALETTE_COLORS 256 // Maximum colours in palette
|
||||
#define iEGA_COLORS 16 // Number colours in EGA palette
|
||||
#define iMASK_COLORS 3 // Maximum three components
|
||||
#define iTRUECOLOR 16 // Minimum true colour device
|
||||
#define iRED 0 // Index position for RED mask
|
||||
#define iGREEN 1 // Index position for GREEN mask
|
||||
#define iBLUE 2 // Index position for BLUE mask
|
||||
#define iPALETTE 8 // Maximum colour depth using a palette
|
||||
#define iMAXBITS 8 // Maximum bits per colour component
|
||||
|
||||
|
||||
// Used for true colour images that also have a palette
|
||||
|
||||
typedef struct tag_TRUECOLORINFO {
|
||||
DWORD dwBitMasks[iMASK_COLORS];
|
||||
RGBQUAD bmiColors[iPALETTE_COLORS];
|
||||
} TRUECOLORINFO;
|
||||
|
||||
|
||||
// The BITMAPINFOHEADER contains all the details about the video stream such
|
||||
// as the actual image dimensions and their pixel depth. A source filter may
|
||||
// also request that the sink take only a section of the video by providing a
|
||||
// clipping rectangle in rcSource. In the worst case where the sink filter
|
||||
// forgets to check this on connection it will simply render the whole thing
|
||||
// which isn't a disaster. Ideally a sink filter will check the rcSource and
|
||||
// if it doesn't support image extraction and the rectangle is not empty then
|
||||
// it will reject the connection. A filter should use SetRectEmpty to reset a
|
||||
// rectangle to all zeroes (and IsRectEmpty to later check the rectangle).
|
||||
// The rcTarget specifies the destination rectangle for the video, for most
|
||||
// source filters they will set this to all zeroes, a downstream filter may
|
||||
// request that the video be placed in a particular area of the buffers it
|
||||
// supplies in which case it will call QueryAccept with a non empty target
|
||||
|
||||
typedef struct tagVIDEOINFOHEADER {
|
||||
|
||||
RECT rcSource; // The bit we really want to use
|
||||
RECT rcTarget; // Where the video should go
|
||||
DWORD dwBitRate; // Approximate bit data rate
|
||||
DWORD dwBitErrorRate; // Bit error rate for this stream
|
||||
REFERENCE_TIME AvgTimePerFrame; // Average time per frame (100ns units)
|
||||
|
||||
BITMAPINFOHEADER bmiHeader;
|
||||
|
||||
} VIDEOINFOHEADER;
|
||||
|
||||
// make sure the pbmi is initialized before using these macros
|
||||
#define TRUECOLOR(pbmi) ((TRUECOLORINFO *)(((LPBYTE)&((pbmi)->bmiHeader)) \
|
||||
+ (pbmi)->bmiHeader.biSize))
|
||||
#define COLORS(pbmi) ((RGBQUAD *)(((LPBYTE)&((pbmi)->bmiHeader)) \
|
||||
+ (pbmi)->bmiHeader.biSize))
|
||||
#define BITMASKS(pbmi) ((DWORD *)(((LPBYTE)&((pbmi)->bmiHeader)) \
|
||||
+ (pbmi)->bmiHeader.biSize))
|
||||
|
||||
// All the image based filters use this to communicate their media types. It's
|
||||
// centred principally around the BITMAPINFO. This structure always contains a
|
||||
// BITMAPINFOHEADER followed by a number of other fields depending on what the
|
||||
// BITMAPINFOHEADER contains. If it contains details of a palettised format it
|
||||
// will be followed by one or more RGBQUADs defining the palette. If it holds
|
||||
// details of a true colour format then it may be followed by a set of three
|
||||
// DWORD bit masks that specify where the RGB data can be found in the image
|
||||
// (For more information regarding BITMAPINFOs see the Win32 documentation)
|
||||
|
||||
// The rcSource and rcTarget fields are not for use by filters supplying the
|
||||
// data. The destination (target) rectangle should be set to all zeroes. The
|
||||
// source may also be zero filled or set with the dimensions of the video. So
|
||||
// if the video is 352x288 pixels then set it to (0,0,352,288). These fields
|
||||
// are mainly used by downstream filters that want to ask the source filter
|
||||
// to place the image in a different position in an output buffer. So when
|
||||
// using for example the primary surface the video renderer may ask a filter
|
||||
// to place the video images in a destination position of (100,100,452,388)
|
||||
// on the display since that's where the window is positioned on the display
|
||||
|
||||
// !!! WARNING !!!
|
||||
// DO NOT use this structure unless you are sure that the BITMAPINFOHEADER
|
||||
// has a normal biSize == sizeof(BITMAPINFOHEADER) !
|
||||
// !!! WARNING !!!
|
||||
|
||||
typedef struct tagVIDEOINFO {
|
||||
|
||||
RECT rcSource; // The bit we really want to use
|
||||
RECT rcTarget; // Where the video should go
|
||||
DWORD dwBitRate; // Approximate bit data rate
|
||||
DWORD dwBitErrorRate; // Bit error rate for this stream
|
||||
REFERENCE_TIME AvgTimePerFrame; // Average time per frame (100ns units)
|
||||
|
||||
BITMAPINFOHEADER bmiHeader;
|
||||
|
||||
union {
|
||||
RGBQUAD bmiColors[iPALETTE_COLORS]; // Colour palette
|
||||
DWORD dwBitMasks[iMASK_COLORS]; // True colour masks
|
||||
TRUECOLORINFO TrueColorInfo; // Both of the above
|
||||
};
|
||||
|
||||
} VIDEOINFO;
|
||||
|
||||
// These macros define some standard bitmap format sizes
|
||||
|
||||
#define SIZE_EGA_PALETTE (iEGA_COLORS * sizeof(RGBQUAD))
|
||||
#define SIZE_PALETTE (iPALETTE_COLORS * sizeof(RGBQUAD))
|
||||
#define SIZE_MASKS (iMASK_COLORS * sizeof(DWORD))
|
||||
#define SIZE_PREHEADER (FIELD_OFFSET(VIDEOINFOHEADER,bmiHeader))
|
||||
#define SIZE_VIDEOHEADER (sizeof(BITMAPINFOHEADER) + SIZE_PREHEADER)
|
||||
// !!! for abnormal biSizes
|
||||
// #define SIZE_VIDEOHEADER(pbmi) ((pbmi)->bmiHeader.biSize + SIZE_PREHEADER)
|
||||
|
||||
// DIBSIZE calculates the number of bytes required by an image
|
||||
|
||||
#define WIDTHBYTES(bits) ((DWORD)(((bits)+31) & (~31)) / 8)
|
||||
#define DIBWIDTHBYTES(bi) (DWORD)WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount)
|
||||
#define _DIBSIZE(bi) (DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight)
|
||||
#define DIBSIZE(bi) ((bi).biHeight < 0 ? (-1)*(_DIBSIZE(bi)) : _DIBSIZE(bi))
|
||||
|
||||
// This compares the bit masks between two VIDEOINFOHEADERs
|
||||
|
||||
#define BIT_MASKS_MATCH(pbmi1,pbmi2) \
|
||||
(((pbmi1)->dwBitMasks[iRED] == (pbmi2)->dwBitMasks[iRED]) && \
|
||||
((pbmi1)->dwBitMasks[iGREEN] == (pbmi2)->dwBitMasks[iGREEN]) && \
|
||||
((pbmi1)->dwBitMasks[iBLUE] == (pbmi2)->dwBitMasks[iBLUE]))
|
||||
|
||||
// These zero fill different parts of the VIDEOINFOHEADER structure
|
||||
|
||||
// Only use these macros for pbmi's with a normal BITMAPINFOHEADER biSize
|
||||
#define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,SIZE_MASKS))
|
||||
#define RESET_HEADER(pbmi) (ZeroMemory((PVOID)(pbmi),SIZE_VIDEOHEADER))
|
||||
#define RESET_PALETTE(pbmi) (ZeroMemory((PVOID)(pbmi)->bmiColors,SIZE_PALETTE));
|
||||
|
||||
#if 0
|
||||
// !!! This is the right way to do it, but may break existing code
|
||||
#define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(((LPBYTE)(pbmi)->bmiHeader) + \
|
||||
(pbmi)->bmiHeader.biSize,SIZE_MASKS)))
|
||||
#define RESET_HEADER(pbmi) (ZeroMemory((PVOID)(pbmi), SIZE_PREHEADER + \
|
||||
sizeof(BITMAPINFOHEADER)))
|
||||
#define RESET_PALETTE(pbmi) (ZeroMemory((PVOID)(((LPBYTE)(pbmi)->bmiHeader) + \
|
||||
(pbmi)->bmiHeader.biSize,SIZE_PALETTE))
|
||||
#endif
|
||||
|
||||
// Other (hopefully) useful bits and bobs
|
||||
|
||||
#define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= iPALETTE)
|
||||
#define PALETTE_ENTRIES(pbmi) ((DWORD) 1 << (pbmi)->bmiHeader.biBitCount)
|
||||
|
||||
// Returns the address of the BITMAPINFOHEADER from the VIDEOINFOHEADER
|
||||
#define HEADER(pVideoInfo) (&(((VIDEOINFOHEADER *) (pVideoInfo))->bmiHeader))
|
||||
|
||||
|
||||
// MPEG variant - includes a DWORD length followed by the
|
||||
// video sequence header after the video header.
|
||||
//
|
||||
// The sequence header includes the sequence header start code and the
|
||||
// quantization matrices associated with the first sequence header in the
|
||||
// stream so is a maximum of 140 bytes long.
|
||||
|
||||
typedef struct tagMPEG1VIDEOINFO {
|
||||
|
||||
VIDEOINFOHEADER hdr; // Compatible with VIDEOINFO
|
||||
DWORD dwStartTimeCode; // 25-bit Group of pictures time code
|
||||
// at start of data
|
||||
DWORD cbSequenceHeader; // Length in bytes of bSequenceHeader
|
||||
BYTE bSequenceHeader[1]; // Sequence header including
|
||||
// quantization matrices if any
|
||||
} MPEG1VIDEOINFO;
|
||||
|
||||
#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
|
||||
#define SIZE_MPEG1VIDEOINFO(pv) (FIELD_OFFSET(MPEG1VIDEOINFO, bSequenceHeader[0]) + (pv)->cbSequenceHeader)
|
||||
#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
|
||||
|
||||
|
||||
// Analog video variant - Use this when the format is FORMAT_AnalogVideo
|
||||
//
|
||||
// rcSource defines the portion of the active video signal to use
|
||||
// rcTarget defines the destination rectangle
|
||||
// both of the above are relative to the dwActiveWidth and dwActiveHeight fields
|
||||
// dwActiveWidth is currently set to 720 for all formats (but could change for HDTV)
|
||||
// dwActiveHeight is 483 for NTSC and 575 for PAL/SECAM (but could change for HDTV)
|
||||
|
||||
typedef struct tagAnalogVideoInfo {
|
||||
RECT rcSource; // Width max is 720, height varies w/ TransmissionStd
|
||||
RECT rcTarget; // Where the video should go
|
||||
DWORD dwActiveWidth; // Always 720 (CCIR-601 active samples per line)
|
||||
DWORD dwActiveHeight; // 483 for NTSC, 575 for PAL/SECAM
|
||||
REFERENCE_TIME AvgTimePerFrame; // Normal ActiveMovie units (100 nS)
|
||||
} ANALOGVIDEOINFO;
|
||||
|
||||
//
|
||||
// AM_KSPROPSETID_FrameStep property set definitions
|
||||
//
|
||||
typedef enum {
|
||||
// Step
|
||||
AM_PROPERTY_FRAMESTEP_STEP = 0x01,
|
||||
AM_PROPERTY_FRAMESTEP_CANCEL = 0x02,
|
||||
|
||||
// S_OK for these 2 means we can - S_FALSE if we can't
|
||||
AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03,
|
||||
AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04
|
||||
} AM_PROPERTY_FRAMESTEP;
|
||||
|
||||
typedef struct _AM_FRAMESTEP_STEP
|
||||
{
|
||||
// 1 means step 1 frame forward
|
||||
// 0 is invalid
|
||||
// n (n > 1) means skip n - 1 frames and show the nth
|
||||
DWORD dwFramesToStep;
|
||||
} AM_FRAMESTEP_STEP;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
#endif // __AMVIDEO__
|
||||
|
1613
extern/include/Bdatif.h
vendored
78
extern/include/DShow.h
vendored
@ -1,78 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DShow.h
|
||||
//
|
||||
// Desc: DirectShow top-level include file
|
||||
//
|
||||
// Copyright (c) 2000-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#ifndef __DSHOW_INCLUDED__
|
||||
#define __DSHOW_INCLUDED__
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Set up constants & pragmas for the compiler
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#ifdef _MSC_VER
|
||||
// disable some level-4 warnings, use #pragma warning(default:###) to re-enable
|
||||
#pragma warning(disable:4100) // warning C4100: unreferenced formal parameter
|
||||
#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
|
||||
#pragma warning(disable:4511) // warning C4511: copy constructor could not be generated
|
||||
#pragma warning(disable:4512) // warning C4512: assignment operator could not be generated
|
||||
#pragma warning(disable:4514) // warning C4514: "unreferenced inline function has been removed"
|
||||
|
||||
#if _MSC_VER>=1100
|
||||
#define AM_NOVTABLE __declspec(novtable)
|
||||
#else
|
||||
#define AM_NOVTABLE
|
||||
#endif
|
||||
#endif // MSC_VER
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Include standard Windows files
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#include <windows.h>
|
||||
#include <windowsx.h>
|
||||
#include <olectl.h>
|
||||
#include <ddraw.h>
|
||||
#include <mmsystem.h>
|
||||
|
||||
#ifndef NUMELMS
|
||||
#define NUMELMS(aa) (sizeof(aa)/sizeof((aa)[0]))
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Include DirectShow include files
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#include <strmif.h> // Generated IDL header file for streams interfaces
|
||||
#include <amvideo.h> // ActiveMovie video interfaces and definitions
|
||||
#include <amaudio.h> // ActiveMovie audio interfaces and definitions
|
||||
#include <control.h> // generated from control.odl
|
||||
#include <evcode.h> // event code definitions
|
||||
#include <uuids.h> // declaration of type GUIDs and well-known clsids
|
||||
#include <errors.h> // HRESULT status and error definitions
|
||||
#include <edevdefs.h> // External device control interface defines
|
||||
#include <audevcod.h> // audio filter device error event codes
|
||||
#include <dvdevcod.h> // DVD error event codes
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Define OLE Automation constants
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#ifndef OATRUE
|
||||
#define OATRUE (-1)
|
||||
#endif // OATRUE
|
||||
#ifndef OAFALSE
|
||||
#define OAFALSE (0)
|
||||
#endif // OAFALSE
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Define Win64 interfaces if not already defined
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// InterlockedExchangePointer
|
||||
#ifndef InterlockedExchangePointer
|
||||
#define InterlockedExchangePointer(Target, Value) \
|
||||
(PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))
|
||||
#endif
|
||||
|
||||
|
||||
#endif // __DSHOW_INCLUDED__
|
633
extern/include/DShowIDL/Bdatif.idl
vendored
@ -1,633 +0,0 @@
|
||||
//---------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 1999-2001 Microsoft Corporation
|
||||
//
|
||||
// BDATIF.idl
|
||||
//
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
cpp_quote("//+-------------------------------------------------------------------------")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// Microsoft Windows")
|
||||
cpp_quote("// Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//--------------------------------------------------------------------------")
|
||||
cpp_quote("#if ( _MSC_VER >= 800 )")
|
||||
cpp_quote("#pragma warning(disable:4201) /* Nameless struct/union */")
|
||||
cpp_quote("#endif")
|
||||
cpp_quote("#if ( _MSC_VER >= 1020 )")
|
||||
cpp_quote("#pragma once")
|
||||
cpp_quote("#endif")
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// IUnknown import idl
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
#ifndef DO_NO_IMPORTS
|
||||
import "unknwn.idl";
|
||||
import "strmif.idl";
|
||||
import "tuner.idl";
|
||||
#endif
|
||||
|
||||
|
||||
interface IMPEG2_TIF_CONTROL;
|
||||
interface IATSCChannelInfo;
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IMPEG2_TIF_CONTROL interface
|
||||
//
|
||||
// Implemented by the Microsoft ATSC/DVB BDA Network Provider
|
||||
//
|
||||
// Used by a transport information filter (TIF) to request table
|
||||
// sections carried on specific PIDs within the transport stream.
|
||||
// The Network Provider Filter will, in turn, do the necessary
|
||||
// control on the Demux Filter. All sections are delivered as comlete
|
||||
// mpeg2 table sections via the TIF's connection to the Demux Filter.
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(F9BAC2F9-4149-4916-B2EF-FAA202326862),
|
||||
helpstring("BDA Network Provider Inteface for DVB/ATSC Transport Information Filters"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMPEG2_TIF_CONTROL : IUnknown
|
||||
{
|
||||
|
||||
[helpstring("Used to register a transport analyzer with the Network Provider")]
|
||||
HRESULT
|
||||
RegisterTIF (
|
||||
[in] IUnknown * pUnkTIF,
|
||||
[in, out] ULONG * ppvRegistrationContext
|
||||
);
|
||||
|
||||
[helpstring("Used to unregister TIF with the Network Provider")]
|
||||
HRESULT
|
||||
UnregisterTIF (
|
||||
[in] ULONG pvRegistrationContext
|
||||
);
|
||||
|
||||
[helpstring("Used to add PSI/SI MPEG2 packet IDs to the TIF's data stream")]
|
||||
HRESULT
|
||||
AddPIDs (
|
||||
[in] ULONG ulcPIDs,
|
||||
[in] ULONG * pulPIDs
|
||||
);
|
||||
|
||||
[helpstring("Used to remove PSI/SI MPEG2 packet IDs from the TIF's data stream")]
|
||||
HRESULT
|
||||
DeletePIDs (
|
||||
[in] ULONG ulcPIDs,
|
||||
[in] ULONG * pulPIDs
|
||||
);
|
||||
|
||||
[helpstring("Returns the number of MPEG2 Packet IDs being filtered into the TIF's input data.")]
|
||||
HRESULT
|
||||
GetPIDCount (
|
||||
[out] ULONG * pulcPIDs
|
||||
);
|
||||
|
||||
[helpstring("Returns the the list of MPEG2 Packet IDs being filtered into the TIF's input data.")]
|
||||
HRESULT
|
||||
GetPIDs (
|
||||
[out] ULONG * pulcPIDs,
|
||||
[out] ULONG * pulPIDs
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// ITuneRequestInfo interface
|
||||
//
|
||||
// Implemented by a BDA transport information filter (TIF)
|
||||
//
|
||||
// Used by the BDA Network Provider to obtain network specific
|
||||
// information about locating transport streams and aquiring
|
||||
// services.
|
||||
//
|
||||
//
|
||||
// GetLocatorData -
|
||||
//
|
||||
// GetComponentData -
|
||||
//
|
||||
// CreateComponentList -
|
||||
//
|
||||
// GetNextService -
|
||||
//
|
||||
// GetPreviouService -
|
||||
//
|
||||
// GetNextLocator -
|
||||
//
|
||||
// GetPreviousLocator -
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(A3B152DF-7A90-4218-AC54-9830BEE8C0B6),
|
||||
helpstring("Interface provided by the Mpeg2 Transport Information Filter to supply tuning details."),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITuneRequestInfo : IUnknown
|
||||
{
|
||||
|
||||
[helpstring("TIF fills in channel/program locator information for the given tune request.")]
|
||||
HRESULT
|
||||
GetLocatorData (
|
||||
[in] ITuneRequest *Request
|
||||
);
|
||||
|
||||
[helpstring("TIF fills in all network specific component data for the existing component list on the given tune request.")]
|
||||
HRESULT
|
||||
GetComponentData (
|
||||
[in] ITuneRequest *CurrentRequest
|
||||
);
|
||||
|
||||
[helpstring("TIF creates a complete component list and fills in all network specific component data on the given tune request")]
|
||||
HRESULT
|
||||
CreateComponentList (
|
||||
[in] ITuneRequest *CurrentRequest
|
||||
);
|
||||
|
||||
[helpstring("TIF creates a new TuneRequest with channel/program locator information for the next service.")]
|
||||
HRESULT
|
||||
GetNextProgram (
|
||||
[in] ITuneRequest *CurrentRequest,
|
||||
[out, retval] ITuneRequest **TuneRequest
|
||||
);
|
||||
|
||||
[helpstring("TIF creates a new TuneRequest with channel/program locator information for the previous service.")]
|
||||
HRESULT
|
||||
GetPreviousProgram (
|
||||
[in] ITuneRequest *CurrentRequest,
|
||||
[out, retval] ITuneRequest **TuneRequest
|
||||
);
|
||||
|
||||
[helpstring("TIF creates a new TuneRequest with locator information for the next transport stream.")]
|
||||
HRESULT
|
||||
GetNextLocator (
|
||||
[in] ITuneRequest *CurrentRequest,
|
||||
[out, retval] ITuneRequest **TuneRequest
|
||||
);
|
||||
|
||||
[helpstring("TIF creates a new TuneRequest with locator information for the previous transport stream.")]
|
||||
HRESULT
|
||||
GetPreviousLocator (
|
||||
[in] ITuneRequest *CurrentRequest,
|
||||
[out, retval] ITuneRequest **TuneRequest
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IGuideDataEvent
|
||||
//
|
||||
// This is the guide data event notification callback interface. The
|
||||
// callback interface is registered on a transport analyzer's
|
||||
// IConnectionPoint by the event consumer.
|
||||
//
|
||||
// The event consumer MUST NOT BLOCK THE CALLING THREAD.
|
||||
//
|
||||
// If the consumer requires additional information about the event, it
|
||||
// should queue the event to a separate thread.
|
||||
//
|
||||
// {EFDA0C80-F395-42c3-9B3C-56B37DEC7BB7}
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(EFDA0C80-F395-42c3-9B3C-56B37DEC7BB7),
|
||||
helpstring("Consumers of a guide data events must implement this callback interface."),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideDataEvent : IUnknown
|
||||
{
|
||||
// Indicates that a complete set of guide data has been acquire from
|
||||
// the current transport stream.
|
||||
//
|
||||
// MANDATORY - If a transport analyzer supports IGuideDataEvent then
|
||||
// it must supply this event.
|
||||
//
|
||||
HRESULT GuideDataAcquired(
|
||||
);
|
||||
|
||||
// Indicates that information about one or more programs changed.
|
||||
//
|
||||
// If varProgramDescriptionID is NULL then the consumer
|
||||
// must get properties for all programs to determine which ones
|
||||
// changed.
|
||||
//
|
||||
// MANDATORY - If a transport analyzer supports IGuideDataEvent then
|
||||
// it must supply this event.
|
||||
//
|
||||
HRESULT ProgramChanged(
|
||||
[in] VARIANT varProgramDescriptionID
|
||||
);
|
||||
|
||||
// Indicates that information about one or more services changed.
|
||||
//
|
||||
// If varServiceDescriptionID is NULL then the consumer
|
||||
// must get properties for all services to determine which ones
|
||||
// changed.
|
||||
//
|
||||
// MANDATORY - If a transport analyzer supports IGuideDataEvent then
|
||||
// it must supply this event.
|
||||
//
|
||||
HRESULT ServiceChanged(
|
||||
[in] VARIANT varServiceDescriptionID
|
||||
);
|
||||
|
||||
// Indicates that information about one or more schedule entries
|
||||
// changed.
|
||||
//
|
||||
// If varScheduleEntryDescriptionID is NULL then the consumer
|
||||
// must get properties for all schedule entries to determine which ones
|
||||
// changed.
|
||||
//
|
||||
// MANDATORY - If a transport analyzer supports IGuideDataEvent then
|
||||
// it must supply this event.
|
||||
//
|
||||
HRESULT ScheduleEntryChanged(
|
||||
[in] VARIANT varScheduleEntryDescriptionID
|
||||
);
|
||||
|
||||
// Indicates that the program with the given Description.ID
|
||||
// has been deleted.
|
||||
//
|
||||
//
|
||||
// Optional - Transport analyzer may supply this event. Consumer
|
||||
// may return E_NOTIMPL.
|
||||
//
|
||||
HRESULT ProgramDeleted(
|
||||
[in] VARIANT varProgramDescriptionID
|
||||
);
|
||||
|
||||
// Indicates that the service with the given Description.ID
|
||||
// has been deleted.
|
||||
//
|
||||
//
|
||||
// Optional - Transport analyzer may supply this event. Consumer
|
||||
// may return E_NOTIMPL.
|
||||
//
|
||||
HRESULT ServiceDeleted(
|
||||
[in] VARIANT varServiceDescriptionID
|
||||
);
|
||||
|
||||
|
||||
// Indicates that the schedule entry with the given Description.ID
|
||||
// has been deleted.
|
||||
//
|
||||
//
|
||||
// Optional - Transport analyzer may supply this event. Consumer
|
||||
// may return E_NOTIMPL.
|
||||
//
|
||||
HRESULT ScheduleDeleted(
|
||||
[in] VARIANT varScheduleEntryDescriptionID
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IGuideDataPropery
|
||||
//
|
||||
// {88EC5E58-BB73-41d6-99CE-66C524B8B591}
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(88EC5E58-BB73-41d6-99CE-66C524B8B591),
|
||||
helpstring("Interface provided by a transport analyzer to represent a guide data property."),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideDataProperty : IUnknown
|
||||
{
|
||||
[propget] HRESULT Name([out] BSTR *pbstrName);
|
||||
[propget] HRESULT Language([out] long *idLang);
|
||||
[propget] HRESULT Value([out] VARIANT *pvar);
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IEnumGuideDataProperties
|
||||
//
|
||||
// {AE44423B-4571-475c-AD2C-F40A771D80EF}
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(AE44423B-4571-475c-AD2C-F40A771D80EF),
|
||||
helpstring("Interface provided by a transport analyzer to enumerate guide data properties."),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEnumGuideDataProperties : IUnknown
|
||||
{
|
||||
HRESULT Next([in] unsigned long celt, [out] IGuideDataProperty **ppprop, [out] unsigned long *pcelt);
|
||||
HRESULT Skip([in] unsigned long celt);
|
||||
HRESULT Reset();
|
||||
HRESULT Clone([out] IEnumGuideDataProperties **ppenum);
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IEnumTuneRequests
|
||||
//
|
||||
// {1993299C-CED6-4788-87A3-420067DCE0C7}
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(1993299C-CED6-4788-87A3-420067DCE0C7),
|
||||
helpstring("Interface provided by a transport analyzer to enumerate service tune requests ."),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IEnumTuneRequests : IUnknown
|
||||
{
|
||||
HRESULT Next([in] unsigned long celt, [out] ITuneRequest **ppprop, [out] unsigned long *pcelt);
|
||||
HRESULT Skip([in] unsigned long celt);
|
||||
HRESULT Reset();
|
||||
HRESULT Clone([out] IEnumTuneRequests **ppenum);
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IGuideData
|
||||
//
|
||||
// {61571138-5B01-43cd-AEAF-60B784A0BF93}
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(61571138-5B01-43cd-AEAF-60B784A0BF93),
|
||||
helpstring("Interface provided by a transport analyzer to supply guide data information."),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideData : IUnknown
|
||||
{
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// GetServices
|
||||
// Returns an enumeration of tune requests for all services whose
|
||||
// information is found in the current transport stream.
|
||||
//
|
||||
// Parameters
|
||||
//
|
||||
// IEnumTuneRequests **
|
||||
// Location in which a reference to the resulting
|
||||
// IEnumTuneRequests is placed. The caller must release
|
||||
// this reference when finished with it.
|
||||
//
|
||||
// Comments
|
||||
// This call is used to enumerate all services whose information
|
||||
// can be found in the service descriptor table. Each tune request
|
||||
// in the IEnumTuneRequest * contains the tune request including the
|
||||
// locator data for the service.
|
||||
//
|
||||
[helpstring("Returns an enumeration of services whose information is found in the given transport stream")]
|
||||
HRESULT
|
||||
GetServices (
|
||||
[out, retval] IEnumTuneRequests ** ppEnumTuneRequests
|
||||
);
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// GetServiceProperties
|
||||
// Returns an enumeration of all guide data properties for
|
||||
// the service with the given Description.ID.
|
||||
//
|
||||
// Parameters
|
||||
// ITuneRequest *
|
||||
// Pointer to a tune request that contains information needed
|
||||
// to indentify the requested transport stream.
|
||||
// A NULL ITuneRequest * indicates that information about the
|
||||
// current transport stream is requested.
|
||||
//
|
||||
// IEnumGuideDataProperties **
|
||||
// Location in which a reference to the resulting
|
||||
// IEnumGuideDataProperties is placed. The caller must release
|
||||
// this reference when finished with it.
|
||||
//
|
||||
// Required Properties
|
||||
// The following properties MUST be included in the returned
|
||||
// property enumeration.
|
||||
//
|
||||
// Description.ID
|
||||
// Uniquely identifies a service.
|
||||
//
|
||||
// Description.Name
|
||||
// The default name to use for this service in the channel lineup.
|
||||
//
|
||||
// Description.Version
|
||||
// Identifies the current version of the properties associated
|
||||
// with this service.
|
||||
//
|
||||
// Provider.Name
|
||||
// Name of the service provider (e.g. "KCTS")
|
||||
//
|
||||
// Provider.NetworkName
|
||||
// Name of the network on which the service is provided.
|
||||
// (e.g. "PBS")
|
||||
//
|
||||
// Service.TuneRequest
|
||||
// Contains a tune request in the variant
|
||||
//
|
||||
//
|
||||
[helpstring("Returns an enumeration of all guide data properties for the service specified by a tune request.")]
|
||||
HRESULT
|
||||
GetServiceProperties (
|
||||
[in] ITuneRequest * pTuneRequest,
|
||||
[out, retval] IEnumGuideDataProperties ** ppEnumProperties
|
||||
);
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// GetProgramIDs
|
||||
// Returns an enumeration of the unique identifiers (Description.ID)
|
||||
// of programs with description contained in all transport
|
||||
// streams
|
||||
//
|
||||
// Parameters
|
||||
//
|
||||
// IEnumVARIANT **
|
||||
// Location in which a reference to the resulting
|
||||
// IEnumVARIANT is placed. The caller must release
|
||||
// this reference when finished with it.
|
||||
//
|
||||
// Comments
|
||||
// This call is used to get a list of programs that have
|
||||
// guide data properties in all transport streams.
|
||||
// Each variant returned in the IEnumVARIANT * contains the
|
||||
// unique Description.ID property for a program.
|
||||
// Note that more than on transport stream may contain properties
|
||||
// for the same program. In this case the properties should be
|
||||
// merged.
|
||||
//
|
||||
[helpstring("Returns an enumeration of the Description.ID property for all programs on the given transport stream.")]
|
||||
HRESULT
|
||||
GetGuideProgramIDs (
|
||||
[out, retval] IEnumVARIANT ** pEnumPrograms
|
||||
);
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// GetProgramProperties
|
||||
// Returns an enumeration of all guide data properties for
|
||||
// the program with the given Description.ID.
|
||||
//
|
||||
// Parameters
|
||||
// varProgramDescriptionID
|
||||
// Variant containing the unique identifier for the program
|
||||
// for which properties are requested.
|
||||
//
|
||||
// IEnumGuideDataProperties **
|
||||
// Location in which a reference to the resulting
|
||||
// IEnumGuideDataProperties is placed. The caller must release
|
||||
// this reference when finished with it.
|
||||
//
|
||||
// Required Properties
|
||||
// The following properties MUST be included in the returned
|
||||
// property enumeration.
|
||||
//
|
||||
// Description.ID
|
||||
// Uniquely identifies a program.
|
||||
//
|
||||
// Description.Version
|
||||
// Identifies the current version of the properties associated
|
||||
// with this program.
|
||||
//
|
||||
// Description.Title
|
||||
// Human readable title of the program (e.g. "")
|
||||
//
|
||||
// Description.Long
|
||||
// A description of the program.
|
||||
//
|
||||
[helpstring("Returns an enumeration of all guide data properties for the program with the given Description.ID.")]
|
||||
HRESULT
|
||||
GetProgramProperties (
|
||||
[in] VARIANT varProgramDescriptionID,
|
||||
[out, retval] IEnumGuideDataProperties ** ppEnumProperties
|
||||
);
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// GetScheduleIDs
|
||||
// Returns an enumeration of the unique identifiers (Description.ID)
|
||||
// transport of schedule entries with description contained in the
|
||||
// given transport stream.
|
||||
//
|
||||
// Parameters
|
||||
//
|
||||
// IEnumVARIANT **
|
||||
// Location in which a reference to the resulting
|
||||
// IEnumVARIANT is placed. The caller must release
|
||||
// this reference when finished with it.
|
||||
//
|
||||
// Comments
|
||||
// This call is used to get a list of schedule entries that have
|
||||
// guide data properties in all transport streams.
|
||||
// Each variant returned in the IEnumVARIANT * contains the
|
||||
// unique Description.ID property for a schedule entry.
|
||||
// Note that more than on transport stream may contain properties
|
||||
// for the same schedule entry. In this case the properties
|
||||
// should be merged.
|
||||
//
|
||||
[helpstring("Returns an enumeration of the Description.ID property for all schedule entries in the transport stream specified by a tune request.")]
|
||||
HRESULT
|
||||
GetScheduleEntryIDs (
|
||||
[out, retval] IEnumVARIANT ** pEnumScheduleEntries
|
||||
);
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// GetScheduleEntryProperties
|
||||
// Returns an enumeration of all guide data properties for
|
||||
// the schedule entry with the given Description.ID.
|
||||
//
|
||||
// Parameters
|
||||
// varScheduleEntryDescriptionID
|
||||
// Variant containing the unique identifier for the schedule
|
||||
// entry for which properties are requested.
|
||||
//
|
||||
// IEnumGuideDataProperties **
|
||||
// Location in which a reference to the resulting
|
||||
// IEnumGuideDataProperties is placed. The caller must release
|
||||
// this reference when finished with it.
|
||||
//
|
||||
// Required Properties
|
||||
// The following properties MUST be included in the returned
|
||||
// property enumeration.
|
||||
//
|
||||
// Description.ID
|
||||
// Uniquely identifies a schedule entry.
|
||||
//
|
||||
// Description.Version
|
||||
// Identifies the current version of the properties associated
|
||||
// with this program.
|
||||
//
|
||||
// Time.Start
|
||||
// The starting time and date of this schedule entry.
|
||||
//
|
||||
// Time.End
|
||||
// The ending time and date of this schedule entry.
|
||||
//
|
||||
// Schedule.Program
|
||||
// The Description.ID of the program that will play at the
|
||||
// time specified by this schedule entry.
|
||||
//
|
||||
// Schedule.Service
|
||||
// The Description.ID of the Service that carries the
|
||||
// program that will play at the time specified by this
|
||||
// schedule entry.
|
||||
//
|
||||
[helpstring("Returns an enumeration of all guide data properties for the schedule entry with the given Description.ID.")]
|
||||
HRESULT
|
||||
GetScheduleEntryProperties (
|
||||
[in] VARIANT varScheduleEntryDescriptionID,
|
||||
[out, retval] IEnumGuideDataProperties ** ppEnumProperties
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
// IGuideDataLoader
|
||||
//
|
||||
// All Guide Data Loaders MUST implement this interface. It is how they are
|
||||
// provided with the IGuideData interface that they will use.
|
||||
//
|
||||
// {4764ff7c-fa95-4525-af4d-d32236db9e38}
|
||||
[
|
||||
object,
|
||||
uuid(4764ff7c-fa95-4525-af4d-d32236db9e38),
|
||||
helpstring("IGuideDataLoader Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideDataLoader : IUnknown
|
||||
{
|
||||
HRESULT Init([in] IGuideData *pGuideStore);
|
||||
HRESULT Terminate();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(8224A083-7F8C-432D-B83E-3C5E9BDE3528),
|
||||
version(1.0),
|
||||
helpstring("psisload 1.0 Type Library")
|
||||
]
|
||||
library PSISLOADLib
|
||||
{
|
||||
importlib("stdole32.tlb");
|
||||
importlib("stdole2.tlb");
|
||||
|
||||
[
|
||||
uuid(14EB8748-1753-4393-95AE-4F7E7A87AAD6),
|
||||
helpstring("TIFLoad Class")
|
||||
]
|
||||
coclass TIFLoad
|
||||
{
|
||||
interface IGuideDataLoader;
|
||||
interface IGuideDataEvent;
|
||||
};
|
||||
};
|
845
extern/include/DShowIDL/Mstvca.idl
vendored
@ -1,845 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: MSTvCA.idl
|
||||
//
|
||||
// Desc: IDL source for MSTvCA.dll
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// This file will be processed by the MIDL tool to
|
||||
// produce the type library (CA.tlb) and marshalling code.
|
||||
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
#include "olectl.h"
|
||||
|
||||
/* [
|
||||
object,
|
||||
dual,
|
||||
uuid(49a32d3c-7d85-11d2-8895-00c04f794967),
|
||||
helpstring("ITuneRequest Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ITuneRequest : IDispatch
|
||||
{
|
||||
};
|
||||
*/
|
||||
import "tuner.idl"; // includes the whole BDA world! Yecko!
|
||||
|
||||
interface ICAManager;
|
||||
interface ICARequest;
|
||||
interface ICAPolicy;
|
||||
interface ICAPolicies;
|
||||
interface ICAPoliciesInternal;
|
||||
interface ICAToll;
|
||||
interface ICATolls;
|
||||
interface ICATollsInternal;
|
||||
interface ICADenial;
|
||||
interface ICADenials;
|
||||
interface ICAOffer;
|
||||
interface ICAOffers;
|
||||
interface ICAComponent;
|
||||
interface ICAComponents;
|
||||
|
||||
#define COLLECTID_Item 0
|
||||
#define COLLECTID_Count 1
|
||||
#define COLLECTID_Add 2
|
||||
#define COLLECTID_Remove 3
|
||||
#define COLLECTID_AddNew 4
|
||||
#define COLLECTID_CountDenied 5 // ICADenials
|
||||
#define COLLECTID_CountSelected 6 // ICADenials
|
||||
#define COLLECTID_PaySelectedTolls 7 // ICADenials
|
||||
|
||||
typedef enum
|
||||
{
|
||||
Unselected = 0,
|
||||
Selected = 1
|
||||
} CATollState;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
Denied = 0,
|
||||
Transient = 1,
|
||||
// Allowed = 2,
|
||||
DescriptionShort = 10, // one of the description fields changed
|
||||
DescriptionLong = 11, // via a ICADenial::put_Description()
|
||||
DescriptionHTML = 12, //
|
||||
DescriptionXML = 13 // (keep these current+10 with list below...)
|
||||
} CADenialState;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
Short = 0, // must be numeric, starting at 0. (Used as array index).
|
||||
Long = 1, // in approximatly order of length in bytes
|
||||
URL = 2,
|
||||
HTML = 3,
|
||||
XML = 4,
|
||||
kDescEnd = 5 // invalid format, 1+ last real one (Used as array length).
|
||||
} CADescFormat;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
Request = 1,
|
||||
ComponentX = 2,
|
||||
Offers = 4,
|
||||
PaidTolls = 8,
|
||||
Policies = 16,
|
||||
Standard = 15, // all put the policies
|
||||
All = 31 // all
|
||||
} CAUIDisplayFields;
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
// if add methods to ICAManagerInternal, be sure to add MAGICCALL in CAManagerProxy too..
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166301-DF8A-463a-B620-7BEC23542010),
|
||||
dual, // Helpers are Dual, IUnknown... so see from VB
|
||||
hidden, restricted,
|
||||
helpstring("ICAManagerInternal Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAManagerInternal : IUnknown
|
||||
{
|
||||
[ id(1), helpstring("method Save")] HRESULT Save();
|
||||
[ id(2), helpstring("method Load")] HRESULT Load();
|
||||
[propput, id(3), helpstring("property MarkDirty")] HRESULT MarkDirty([in] BOOL fDirty);
|
||||
[propget, id(3), helpstring("property MarkDirty")] HRESULT MarkDirty([out, retval] BOOL *pfDirty);
|
||||
[propput, id(4), helpstring("property TuneRequest")] HRESULT TuneRequest([in] ITuneRequest *ptunereq);
|
||||
[ id(5), helpstring("method GetDefaultUI")] HRESULT GetDefaultUI([out] HWND *phwnd);
|
||||
[ id(6), helpstring("method SetDefaultUI")] HRESULT SetDefaultUI([in] HWND hwnd);
|
||||
// return the main CAManager object, not the proxy one.
|
||||
[propget, id(7), helpstring("property CAManagerMain")] HRESULT CAManagerMain([out,retval] ICAManager **ppManagerMain);
|
||||
[propput, id(8), helpstring("property BroadcastEventService")] HRESULT BroadcastEventService([in] IBroadcastEvent *pBroadcastEventService);
|
||||
[propget, id(8), helpstring("property BroadcastEventService")] HRESULT BroadcastEventService([out, retval] IBroadcastEvent **ppBroadcastEventService);
|
||||
[ id(9), helpstring("method DisplayDefaultUI")] HRESULT DisplayDefaultUI([in] VARIANT_BOOL fDisplay);
|
||||
[ id(10), helpstring("method EnableDefaultUIPayTollsButton")] HRESULT EnableDefaultUIPayTollsButton([in] VARIANT_BOOL fEnabled);
|
||||
[ id(11), helpstring("method UpdateDefaultUIForToll")] HRESULT UpdateDefaultUIForToll([in] ICAToll *pToll,[in] CATollState enState);
|
||||
[propput, id(12), helpstring("property TuneRequestInt")] HRESULT TuneRequestInt([in] ITuneRequest *ptunereq);
|
||||
[ id(13), helpstring("method AddDenialsFor")] HRESULT AddDenialsFor([in] IUnknown *pUnk); // see also ICAManager::get_DenialsFor()
|
||||
[ id(14), helpstring("method RemoveDenialsFor")] HRESULT RemoveDenialsFor([in] IUnknown *pUnk);
|
||||
|
||||
[ id(2201),helpstring("method NotifyRequestActivated")] HRESULT NotifyRequestActivated([in] ICARequest *pReq);
|
||||
[ id(2202),helpstring("method NotifyRequestDeactivated")] HRESULT NotifyRequestDeactivated([in] ICARequest *pReq);
|
||||
[ id(2203),helpstring("method NotifyOfferAdded")] HRESULT NotifyOfferAdded([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[ id(2204),helpstring("method NotifyOfferRemoved")] HRESULT NotifyOfferRemoved([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[ id(2205),helpstring("method NotifyPolicyAdded")] HRESULT NotifyPolicyAdded([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[ id(2206),helpstring("method NotifyPolicyRemoved")] HRESULT NotifyPolicyRemoved([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[ id(2207),helpstring("method NotifyRequestDenialAdded")] HRESULT NotifyRequestDenialAdded([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2208),helpstring("method NotifyRequestDenialRemoved")] HRESULT NotifyRequestDenialRemoved([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2209),helpstring("method NotifyDenialTollAdded")] HRESULT NotifyDenialTollAdded([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2210),helpstring("method NotifyDenialTollRemoved")] HRESULT NotifyDenialTollRemoved([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2211),helpstring("method NotifyTollDenialAdded")] HRESULT NotifyTollDenialAdded([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2212),helpstring("method NotifyTollDenialRemoved")] HRESULT NotifyTollDenialRemoved([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2213),helpstring("method NotifyOfferTollAdded")] HRESULT NotifyOfferTollAdded([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2214),helpstring("method NotifyOfferTollRemoved")] HRESULT NotifyOfferTollRemoved([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2215),helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateLast);
|
||||
[ id(2216),helpstring("method NotifyDenialStateChanged")] HRESULT NotifyDenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enStateLast);
|
||||
[ id(2217),helpstring("method NotifyComponentDenialAdded")] HRESULT NotifyComponentDenialAdded([in] ICAComponent *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2218),helpstring("method NotifyComponentDenialRemoved")] HRESULT NotifyComponentDenialRemoved([in] ICAComponent *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166302-DF8A-463a-B620-7BEC23542010),
|
||||
dual, // Helpers are Dual, IUnknown... so see from VB
|
||||
hidden, restricted,
|
||||
helpstring("ICAManagerXProxy Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAManagerXProxy : IUnknown
|
||||
{
|
||||
[propget, id(1), helpstring("property PunkCAManagerProxy")] HRESULT PunkCAManagerProxy([out,retval] IUnknown **ppUnkCAManagerProxy);
|
||||
[ id(2201),helpstring("method NotifyRequestActivated_XProxy")] HRESULT NotifyRequestActivated_XProxy([in] ICARequest *pReq);
|
||||
[ id(2202),helpstring("method NotifyRequestDeactivated_XProxy")] HRESULT NotifyRequestDeactivated_XProxy([in] ICARequest *pReq);
|
||||
[ id(2203),helpstring("method NotifyOfferAdded_XProxy")] HRESULT NotifyOfferAdded_XProxy([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[ id(2204),helpstring("method NotifyOfferRemoved_XProxy")] HRESULT NotifyOfferRemoved_XProxy([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[ id(2205),helpstring("method NotifyPolicyAdded_XProxy")] HRESULT NotifyPolicyAdded_XProxy([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[ id(2206),helpstring("method NotifyPolicyRemoved_XProxy")] HRESULT NotifyPolicyRemoved_XProxy([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[ id(2207),helpstring("method NotifyRequestDenialAdded_XProxy")] HRESULT NotifyRequestDenialAdded_XProxy([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2208),helpstring("method NotifyRequestDenialRemoved_XProxy")] HRESULT NotifyRequestDenialRemoved_XProxy([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2209),helpstring("method NotifyDenialTollAdded_XProxy")] HRESULT NotifyDenialTollAdded_XProxy([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2210),helpstring("method NotifyDenialTollRemoved_XProxy")] HRESULT NotifyDenialTollRemoved_XProxy([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2211),helpstring("method NotifyTollDenialAdded_XProxy")] HRESULT NotifyTollDenialAdded_XProxy([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2212),helpstring("method NotifyTollDenialRemoved_XProxy")] HRESULT NotifyTollDenialRemoved_XProxy([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2213),helpstring("method NotifyOfferTollAdded_XProxy")] HRESULT NotifyOfferTollAdded_XProxy([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2214),helpstring("method NotifyOfferTollRemoved_XProxy")] HRESULT NotifyOfferTollRemoved_XProxy([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2215),helpstring("method NotifyTollStateChanged_XProxy")] HRESULT NotifyTollStateChanged_XProxy([in] ICAToll *pToll, [in] CATollState enStateLast);
|
||||
[ id(2216),helpstring("method NotifyDenialStateChanged_XProxy")] HRESULT NotifyDenialStateChanged_XProxy([in] ICADenial *pDenial, [in] CADenialState enStateLast);
|
||||
[ id(2217),helpstring("method NotifyComponentDenialAdded_XProxy")] HRESULT NotifyComponentDenialAdded_XProxy([in] ICAComponent *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2218),helpstring("method NotifyComponentDenialRemoved_XProxy")] HRESULT NotifyComponentDenialRemoved_XProxy([in] ICAComponent *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166420-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAPolicies Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAPolicies : IDispatch
|
||||
{
|
||||
[propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
|
||||
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
|
||||
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAPolicy **ppPolicy);
|
||||
[ id(COLLECTID_Add)] HRESULT Add([in] ICAPolicy *pPolicy);
|
||||
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
|
||||
};
|
||||
|
||||
[ object,
|
||||
uuid(11166421-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
hidden, restricted,
|
||||
helpstring("ICAPoliciesInternal Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAPoliciesInternal : IUnknown
|
||||
{
|
||||
[id(1),helpstring("method SetCAManager")] HRESULT SetCAManager([in] ICAManager *pManager);
|
||||
[id(2),helpstring("method CheckRequest")] HRESULT CheckRequest([in] ICARequest *pReq);
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166430-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICATolls Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICATolls : IDispatch
|
||||
{
|
||||
[propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
|
||||
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
|
||||
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAToll **ppToll);
|
||||
[ id(COLLECTID_Add)] HRESULT Add([in] ICAToll *pToll);
|
||||
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166431-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
hidden, restricted,
|
||||
helpstring("ICATolls Internal Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICATollsInternal : IUnknown // workaround for not being able to get _ICAResDenialEvents to work
|
||||
{
|
||||
[ id(1),helpstring("method SetCAManager")] HRESULT SetCAManager([in] ICAManager *pManager);
|
||||
[ id(2),helpstring("method GetCAManager")] HRESULT GetCAManager([out] ICAManager **ppManager);
|
||||
[ id(3),helpstring("method SetMustPersist")] HRESULT SetMustPersist([in] BOOL fMustPersist);
|
||||
[ id(4),helpstring("method Save")] HRESULT Save([in] IStorage *pstore,[in] BSTR bstrPrefix);
|
||||
[ id(5),helpstring("method Load")] HRESULT Load([in] IStorage *pstore,[in] BSTR bstrPrefix);
|
||||
[ id(6),helpstring("method NotifyStateChanged")] HRESULT NotifyStateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
|
||||
[ id(7),helpstring("method NotifyTollSelectionChanged")] HRESULT NotifyTollSelectionChanged([in] ICAToll *pToll, [in] BOOL fSelected);
|
||||
};
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166440-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICADenials Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICADenials : IDispatch
|
||||
{
|
||||
[propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
|
||||
[propget, id(COLLECTID_Count) ] HRESULT Count([out, retval] long *Count);
|
||||
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICADenial **ppDenial);
|
||||
[propget, id(COLLECTID_AddNew), helpstring("property AddNew")] HRESULT AddNew([in] ICAPolicy *ppolicy, [in] BSTR bstrShortDesc, [in] IUnknown *pUnkDeniedObject, [in] long enDenialState, [out, retval] ICADenial **ppDenial);
|
||||
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
|
||||
[propget, id(COLLECTID_CountDenied)] HRESULT CountDenied([out, retval] long *Count);
|
||||
[propget, id(COLLECTID_CountSelected)] HRESULT CountSelected([out, retval] long *Count);
|
||||
[ id(COLLECTID_PaySelectedTolls)] HRESULT PaySelectedTolls();
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166441-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
hidden, restricted,
|
||||
helpstring("ICADenialsInternal Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICADenialsInternal : IUnknown
|
||||
{
|
||||
[ id(1),helpstring("method SetCAManager")] HRESULT SetCAManager([in] ICAManager *pManager);
|
||||
[ id(2),helpstring("method NotifyDenialStateChanged")] HRESULT NotifyDenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enStateLast);
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166450-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAOffers Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAOffers : IDispatch
|
||||
{
|
||||
[propget, id(DISPID_NEWENUM) , restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
|
||||
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
|
||||
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAOffer **ppOffer);
|
||||
[propget, id(COLLECTID_AddNew), helpstring("property AddNew")] HRESULT AddNew([in] ICAPolicy *pPolicy, [in] BSTR bstrName, [in] DATE dateStart, [in] DATE dateEnd, [out, retval] ICAOffer **ppOffer);
|
||||
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166470-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAComponents Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAComponents : IDispatch
|
||||
{
|
||||
[propget, id(DISPID_NEWENUM) , restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
|
||||
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
|
||||
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAComponent **ppComponent);
|
||||
// [ id(COLLECTID_Add)] HRESULT Add([in] ICAComponent *pComponent);
|
||||
// [ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166361-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
hidden,
|
||||
helpstring("ICAComponentInternal Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAComponentInternal : IUnknown
|
||||
{
|
||||
[ id(1), helpstring("method RemoveAllDenials")] HRESULT RemoveAllDenials();
|
||||
[propget, id(2), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstrDescription);
|
||||
};
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(860A3FE2-DED1-40E2-896C-057681A8A1A8),
|
||||
dual,
|
||||
helpstring("ICADefaultDlg Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICADefaultDlg : IDispatch
|
||||
{
|
||||
[propput, id(DISPID_AUTOSIZE)]
|
||||
HRESULT AutoSize([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_AUTOSIZE)]
|
||||
HRESULT AutoSize([out,retval]VARIANT_BOOL* pbool);
|
||||
[propput, id(DISPID_BACKCOLOR)]
|
||||
HRESULT BackColor([in]OLE_COLOR clr);
|
||||
[propget, id(DISPID_BACKCOLOR)]
|
||||
HRESULT BackColor([out,retval]OLE_COLOR* pclr);
|
||||
[propput, id(DISPID_BACKSTYLE)]
|
||||
HRESULT BackStyle([in]long style);
|
||||
[propget, id(DISPID_BACKSTYLE)]
|
||||
HRESULT BackStyle([out,retval]long* pstyle);
|
||||
[propput, id(DISPID_BORDERCOLOR)]
|
||||
HRESULT BorderColor([in]OLE_COLOR clr);
|
||||
[propget, id(DISPID_BORDERCOLOR)]
|
||||
HRESULT BorderColor([out, retval]OLE_COLOR* pclr);
|
||||
[propput, id(DISPID_BORDERSTYLE)]
|
||||
HRESULT BorderStyle([in]long style);
|
||||
[propget, id(DISPID_BORDERSTYLE)]
|
||||
HRESULT BorderStyle([out, retval]long* pstyle);
|
||||
[propput, id(DISPID_BORDERWIDTH)]
|
||||
HRESULT BorderWidth([in]long width);
|
||||
[propget, id(DISPID_BORDERWIDTH)]
|
||||
HRESULT BorderWidth([out, retval]long* width);
|
||||
[propput, id(DISPID_DRAWMODE)]
|
||||
HRESULT DrawMode([in]long mode);
|
||||
[propget, id(DISPID_DRAWMODE)]
|
||||
HRESULT DrawMode([out, retval]long* pmode);
|
||||
[propput, id(DISPID_DRAWSTYLE)]
|
||||
HRESULT DrawStyle([in]long style);
|
||||
[propget, id(DISPID_DRAWSTYLE)]
|
||||
HRESULT DrawStyle([out, retval]long* pstyle);
|
||||
[propput, id(DISPID_DRAWWIDTH)]
|
||||
HRESULT DrawWidth([in]long width);
|
||||
[propget, id(DISPID_DRAWWIDTH)]
|
||||
HRESULT DrawWidth([out, retval]long* pwidth);
|
||||
[propput, id(DISPID_FILLCOLOR)]
|
||||
HRESULT FillColor([in]OLE_COLOR clr);
|
||||
[propget, id(DISPID_FILLCOLOR)]
|
||||
HRESULT FillColor([out, retval]OLE_COLOR* pclr);
|
||||
[propput, id(DISPID_FILLSTYLE)]
|
||||
HRESULT FillStyle([in]long style);
|
||||
[propget, id(DISPID_FILLSTYLE)]
|
||||
HRESULT FillStyle([out, retval]long* pstyle);
|
||||
[propputref, id(DISPID_FONT)]
|
||||
HRESULT Font([in]IFontDisp* pFont);
|
||||
[propput, id(DISPID_FONT)]
|
||||
HRESULT Font([in]IFontDisp* pFont);
|
||||
[propget, id(DISPID_FONT)]
|
||||
HRESULT Font([out, retval]IFontDisp** ppFont);
|
||||
[propput, id(DISPID_FORECOLOR)]
|
||||
HRESULT ForeColor([in]OLE_COLOR clr);
|
||||
[propget, id(DISPID_FORECOLOR)]
|
||||
HRESULT ForeColor([out,retval]OLE_COLOR* pclr);
|
||||
[propput, id(DISPID_ENABLED)]
|
||||
HRESULT Enabled([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_ENABLED)]
|
||||
HRESULT Enabled([out,retval]VARIANT_BOOL* pbool);
|
||||
[propget, id(DISPID_HWND)]
|
||||
HRESULT Window([out, retval]LONG_PTR* phwnd); // was long* via the wizard, but doesn't compile Win64
|
||||
[propput, id(DISPID_TABSTOP)]
|
||||
HRESULT TabStop([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_TABSTOP)]
|
||||
HRESULT TabStop([out, retval]VARIANT_BOOL* pbool);
|
||||
[propput, id(DISPID_TEXT)]
|
||||
HRESULT Text([in]BSTR strText);
|
||||
[propget, id(DISPID_TEXT)]
|
||||
HRESULT Text([out, retval]BSTR* pstrText);
|
||||
[propput, id(DISPID_CAPTION)]
|
||||
HRESULT Caption([in]BSTR strCaption);
|
||||
[propget, id(DISPID_CAPTION)]
|
||||
HRESULT Caption([out,retval]BSTR* pstrCaption);
|
||||
[propput, id(DISPID_BORDERVISIBLE)]
|
||||
HRESULT BorderVisible([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_BORDERVISIBLE)]
|
||||
HRESULT BorderVisible([out, retval]VARIANT_BOOL* pbool);
|
||||
[propput, id(DISPID_APPEARANCE)]
|
||||
HRESULT Appearance([in]short appearance);
|
||||
[propget, id(DISPID_APPEARANCE)]
|
||||
HRESULT Appearance([out, retval]short* pappearance);
|
||||
[propput, id(DISPID_MOUSEPOINTER)]
|
||||
HRESULT MousePointer([in]long pointer);
|
||||
[propget, id(DISPID_MOUSEPOINTER)]
|
||||
HRESULT MousePointer([out, retval]long* ppointer);
|
||||
[propputref, id(DISPID_MOUSEICON)]
|
||||
HRESULT MouseIcon([in]IPictureDisp* pMouseIcon);
|
||||
[propput, id(DISPID_MOUSEICON)]
|
||||
HRESULT MouseIcon([in]IPictureDisp* pMouseIcon);
|
||||
[propget, id(DISPID_MOUSEICON)]
|
||||
HRESULT MouseIcon([out, retval]IPictureDisp** ppMouseIcon);
|
||||
[propputref, id(DISPID_PICTURE)]
|
||||
HRESULT Picture([in]IPictureDisp* pPicture);
|
||||
[propput, id(DISPID_PICTURE)]
|
||||
HRESULT Picture([in]IPictureDisp* pPicture);
|
||||
[propget, id(DISPID_PICTURE)]
|
||||
HRESULT Picture([out, retval]IPictureDisp** ppPicture);
|
||||
[propput, id(DISPID_VALID)]
|
||||
HRESULT Valid([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_VALID)]
|
||||
HRESULT Valid([out, retval]VARIANT_BOOL* pbool);
|
||||
};
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
[
|
||||
uuid(11166000-DF8A-463a-B620-7BEC23542010),
|
||||
version(1.0),
|
||||
helpstring("Microsoft TV CA Type Library")
|
||||
]
|
||||
library MSTvCALib
|
||||
{
|
||||
importlib("stdole32.tlb");
|
||||
importlib("stdole2.tlb");
|
||||
|
||||
// ---------------------------------------------------
|
||||
// CAUTION - if Change events below, need to perform:
|
||||
// 1) compile the MIDL file to generate the typelib
|
||||
// 2) In VCC class view, <xxx>->Implement Connection Point (_ICA<xxx>Events)
|
||||
// to regenerate the CProxy_ICA<xxx>Events<> code.
|
||||
// Need to browse to objd\i386 directory and select MSTvCA.tlb
|
||||
// (The file MSTvCACP.h must be checked out.)
|
||||
// Where <xxx> is Denials, Manager, Offers, Policies, Request, and Tolls
|
||||
|
||||
[
|
||||
uuid(11166298-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("_ICAResDenialTreeEvents Interface")
|
||||
]
|
||||
dispinterface _ICAResDenialTreeEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1),helpstring("method PaidTollSelected")] HRESULT PaidTollSelected([in] ICAToll *pToll, [in] long fSelected);
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
uuid(11166200-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("ICAManagerEvents Interface")
|
||||
]
|
||||
dispinterface _ICAManagerEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(2201),helpstring("method RequestActivated")] HRESULT RequestActivated([in] ICARequest *pReq);
|
||||
[id(2202),helpstring("method RequestDeactivated")] HRESULT RequestDeactivated([in] ICARequest *pReq);
|
||||
[id(2203),helpstring("method OfferAdded")] HRESULT OfferAdded([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[id(2204),helpstring("method OfferRemoved")] HRESULT OfferRemoved([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[id(2205),helpstring("method PolicyAdded")] HRESULT PolicyAdded([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[id(2206),helpstring("method PolicyRemoved")] HRESULT PolicyRemoved([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[id(2207),helpstring("method RequestDenialAdded")] HRESULT RequestDenialAdded([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[id(2208),helpstring("method RequestDenialRemoved")] HRESULT RequestDenialRemoved([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[id(2209),helpstring("method DenialTollAdded")] HRESULT DenialTollAdded([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[id(2210),helpstring("method DenialTollRemoved")] HRESULT DenialTollRemoved([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[id(2211),helpstring("method TollDenialAdded")] HRESULT TollDenialAdded([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[id(2212),helpstring("method TollDenialRemoved")] HRESULT TollDenialRemoved([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[id(2213),helpstring("method OfferTollAdded")] HRESULT OfferTollAdded([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[id(2214),helpstring("method OfferTollRemoved")] HRESULT OfferTollRemoved([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[id(2215),helpstring("method TollStateChanged")] HRESULT TollStateChanged([in] ICAToll *pToll, [in] CATollState enState);
|
||||
[id(2216),helpstring("method DenialStateChanged")] HRESULT DenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enState);
|
||||
[id(2217),helpstring("method ComponentDenialAdded")] HRESULT ComponentDenialAdded([in] ICAComponent *pComp, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[id(2218),helpstring("method ComponentDenialRemoved")] HRESULT ComponentDenialRemoved([in] ICAComponent *pComp, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166210-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("ICARequestEvents Interface")
|
||||
]
|
||||
dispinterface _ICARequestEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method CheckStarted")] HRESULT CheckStarted([in] ICARequest *pRequest);
|
||||
[id(2), helpstring("method CheckComplete")] HRESULT CheckComplete([in] ICARequest *pRequest,[in] long cDenials);
|
||||
};
|
||||
[
|
||||
uuid(11166220-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("_ICAPoliciesEvents Interface")
|
||||
]
|
||||
dispinterface _ICAPoliciesEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAPolicy *pPolicy, long cPolicies);
|
||||
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAPolicy *pPolicy, long cPolicies);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166230-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("ICATollsEvents Interface")
|
||||
]
|
||||
dispinterface _ICATollsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAToll *pToll, [in] long cTolls);
|
||||
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAToll *pToll, [in] long cTolls);
|
||||
[id(3), helpstring("method StateChanged")] HRESULT StateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
uuid(11166240-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("ICADenialsEvents Interface")
|
||||
]
|
||||
dispinterface _ICADenialsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICADenial *pDenial, [in] long cDenials);
|
||||
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICADenial *pDenial, [in] long cDenials);
|
||||
[id(3), helpstring("method StateChanged")] HRESULT StateChanged([in] ICADenial *pDenial, [in] CADenialState enStateFrom);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166250-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("ICAOffersEvents Interface")
|
||||
]
|
||||
dispinterface _ICAOffersEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAOffer *pOffer, [in] long cOffers);
|
||||
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAOffer *pOffer, [in] long cOffers);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166260-DF8A-463A-B620-7BEC23542010),
|
||||
helpstring("_ICAComponentsEvents Interface")
|
||||
]
|
||||
dispinterface _ICAComponentsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAComponent *pComponent, [in] long cComponent);
|
||||
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAComponent *pComponent, [in] long cComponent);
|
||||
}; // --------------------------------
|
||||
[
|
||||
object,
|
||||
dual,
|
||||
uuid(11166300-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("ICAManager Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAManager : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property Policies")] HRESULT Policies([out, retval] ICAPolicies **ppPolicies);
|
||||
[propget, id(2), helpstring("property ActiveRequest")] HRESULT ActiveRequest([out, retval] ICARequest **ppRequest);
|
||||
[propget, id(3), helpstring("property Offers")] HRESULT Offers([out, retval] ICAOffers **ppOffers);
|
||||
[propget, id(4), helpstring("property PaidTolls")] HRESULT PaidTolls([out, retval] ICATolls **ppTolls);
|
||||
[propput, id(5), helpstring("property UseDefaultUI")] HRESULT UseDefaultUI([in] long fUseDefaultUI);
|
||||
[propget, id(5), helpstring("property UseDefaultUI")] HRESULT UseDefaultUI([out, retval] long *pfUseDefaultUI);
|
||||
[propget, id(6), helpstring("property DenialsFor")] HRESULT DenialsFor([in] IUnknown *pUnk, [out, retval] ICADenials **ppDenials);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166310-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICARequest Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICARequest : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property RequestedItem")] HRESULT RequestedItem([out, retval] IUnknown **ppTunereq);
|
||||
[propget, id(2), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
|
||||
[propget, id(3), helpstring("property ScheduleEntry")] HRESULT ScheduleEntry([out, retval] IUnknown **ppUnkScheduleEntry); // IScheduleEntry?
|
||||
[propget, id(4), helpstring("property Denials")] HRESULT Denials([out, retval] ICADenials **ppDenials);
|
||||
[propget, id(5), helpstring("property Components")] HRESULT Components([out, retval] ICAComponents **pComponents);
|
||||
[propget, id(6), helpstring("property Check")] HRESULT Check([out, retval] long *pcDenials);
|
||||
[propget, id(7), helpstring("property ResolveDenials")] HRESULT ResolveDenials([out, retval] long *pcDenials);
|
||||
[propget, id(8), helpstring("property CountDeniedComponents")] HRESULT CountDeniedComponents([out, retval] long *pcDeniedComponents);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166320-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("ICAPolicy Interface"), // client written
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAPolicy : IUnknown // -- not IDispatch, let the client side implement that interface
|
||||
{
|
||||
[propget, id(0), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pbstr);
|
||||
[ id(1), helpstring("method CheckRequest")] HRESULT CheckRequest([in] ICARequest *pReq);
|
||||
// [propget, id(2), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
|
||||
[propput, id(2), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pManager);
|
||||
[propget, id(3), helpstring("property OkToPersist")] HRESULT OkToPersist([out, retval] BOOL *pfOkToPersist);
|
||||
[propget, id(4), helpstring("property OkToRemove")] HRESULT OkToRemove([out, retval] BOOL *pfOkToRemove);
|
||||
[propget, id(5), helpstring("property OkToRemoveDenial")] HRESULT OkToRemoveDenial(ICADenial *pDenial, [out, retval] BOOL *pfOk);
|
||||
[propget, id(6), helpstring("property OkToRemoveOffer")] HRESULT OkToRemoveOffer(ICAOffer *pOffer, [out, retval] BOOL *pfOk);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166330-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAToll Interface"), // also client written
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAToll : IUnknown // -- also not IDispatch - client side implements that interface
|
||||
{
|
||||
// [propget, id(1), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
|
||||
[propput, id(1), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pManager);
|
||||
[ id(2), helpstring("method Select")] HRESULT Select([in] BOOL fSelect);
|
||||
[ id(3), helpstring("method PayToll")] HRESULT PayToll();
|
||||
[propget, id(4), helpstring("property Refundable")] HRESULT Refundable([out, retval] BOOL *pfRefundable);
|
||||
[ id(5), helpstring("method RefundToll")] HRESULT RefundToll();
|
||||
[propget, id(6), helpstring("property TolledObject")] HRESULT TolledObject([out, retval] IUnknown **ppUnkTolled);
|
||||
[propget, id(7), helpstring("property Denials")] HRESULT Denials([out, retval] ICADenials **ppDenials);
|
||||
[propget, id(8), helpstring("property Policy")] HRESULT Policy([out, retval] ICAPolicy **ppPolicy);
|
||||
[propget, id(9), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstr);
|
||||
[propget, id(10),helpstring("property TimePaid")] HRESULT TimePaid([out, retval] DATE *pdtPaid);
|
||||
[propget, id(11),helpstring("property State")] HRESULT State([out, retval] CATollState *penState);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166340-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICADenial Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICADenial : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property DeniedObject")] HRESULT DeniedObject([out, retval] IUnknown **ppUnkDenied);
|
||||
[propget, id(2), helpstring("property Policy")] HRESULT Policy([out, retval] ICAPolicy **ppPolicy);
|
||||
[propget, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstr);
|
||||
[propput, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [in] BSTR bstr);
|
||||
[propget, id(4), helpstring("property State")] HRESULT State([out, retval] CADenialState *penState);
|
||||
[propput, id(4), helpstring("property State")] HRESULT State([in] CADenialState enState);
|
||||
[propget, id(5), helpstring("property Tolls")] HRESULT Tolls([out, retval] ICATolls **ppTolls);
|
||||
[ id(6), helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166350-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAOffer Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAOffer : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
|
||||
[propput, id(1), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pManager);
|
||||
[propget, id(2), helpstring("property Policy")] HRESULT Policy([out, retval] ICAPolicy **pppolicy);
|
||||
[propget, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstr);
|
||||
[propput, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [in] BSTR bstr);
|
||||
[propget, id(4), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pdtStart);
|
||||
[propget, id(5), helpstring("property EndTime")] HRESULT EndTime([out, retval] DATE *pdtEnd);
|
||||
[propget, id(6), helpstring("property Tolls")] HRESULT Tolls([out, retval] ICATolls **ppTolls);
|
||||
[ id(7), helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(11166360-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAComponent Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAComponent : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property Component")] HRESULT Component([out, retval] IComponent **ppComponent);
|
||||
[propget, id(2), helpstring("property Denials")] HRESULT Denials([out, retval] ICADenials **ppDenials);
|
||||
[propget, id(3), helpstring("property Request")] HRESULT Request([out, retval] ICARequest **ppComponent);
|
||||
};
|
||||
|
||||
// --------------------------------
|
||||
|
||||
[
|
||||
uuid(11166100-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("CAManager Class")
|
||||
]
|
||||
coclass CAManager
|
||||
{
|
||||
[default] interface ICAManager;
|
||||
interface ICAManagerInternal;
|
||||
// interface ICAManagerXProxy; // this is the actual outgoing 'event' interface
|
||||
[default, source] dispinterface _ICAManagerEvents;
|
||||
};
|
||||
|
||||
[ // magic class used to avoid circular references through the CAManager.
|
||||
hidden,
|
||||
uuid(11166101-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("CAManagerProxy Class")
|
||||
]
|
||||
coclass CAManagerProxy
|
||||
{
|
||||
[default] interface ICAManager;
|
||||
interface ICAManagerInternal;
|
||||
// [default, source] dispinterface _ICAManagerEvents; /// QUESTION ??? DO I want these just here, or in the true Manager, or both?
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166540-DF8A-463a-B620-7BEC23542010), // needed for user's tolls.
|
||||
helpstring("CADenials Class")
|
||||
]
|
||||
coclass CADenials
|
||||
{
|
||||
[default] interface ICADenials;
|
||||
interface ICADenialsInternal;
|
||||
[default, source] dispinterface _ICADenialsEvents;
|
||||
};
|
||||
|
||||
// TODO - mark this as hidden...
|
||||
[
|
||||
uuid(11166550-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("CAOffer Class")
|
||||
]
|
||||
coclass CAOffer
|
||||
{
|
||||
[default] interface ICAOffer;
|
||||
};
|
||||
|
||||
|
||||
/* [
|
||||
uuid(11166999-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("CATempEvent_TempBuilder Class - used so we can build events the first time")
|
||||
]
|
||||
coclass CATempEvent_TempBuilder
|
||||
{
|
||||
[source] dispinterface _ICAResDenialTreeEvents;
|
||||
[source] dispinterface _ICAManagerEvents;
|
||||
[source] dispinterface _ICARequestEvents;
|
||||
[source] dispinterface _ICATollsEvents;
|
||||
[source] dispinterface _ICADenialsEvents;
|
||||
[source] dispinterface _ICAPoliciesEvents;
|
||||
[source] dispinterface _ICAOffersEvents;
|
||||
[source] dispinterface _ICAComponentsEvents;
|
||||
};
|
||||
*/
|
||||
// -----------------------------------
|
||||
[
|
||||
object,
|
||||
uuid(11166898-DF8A-463a-B620-7BEC23542010),
|
||||
dual,
|
||||
helpstring("ICAResDenialTree Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICAResDenialTree : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppCAManager);
|
||||
[propput, id(1), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pCAManager);
|
||||
[propget, id(2), helpstring("property DisplayFields")] HRESULT DisplayFields([out, retval] long *penFields); // fields to display in default ResDenial UI
|
||||
[propput, id(2), helpstring("property DisplayFields")] HRESULT DisplayFields([in] long enFields); // fields to display in default ResDenial UI
|
||||
[ id(3), helpstring("method UpdateView")] HRESULT UpdateView([in] IUnknown *pUnk); // if object is being viewed, updates it.
|
||||
// ResDenial control listens to these incoming sink events sent by Manager ((_ICAManagerEvents).. ID's Must match
|
||||
[ id(2201),helpstring("method NotifyRequestActivated")] HRESULT NotifyRequestActivated([in] ICARequest *preq);
|
||||
[ id(2202),helpstring("method NotifyRequestDeactivated")] HRESULT NotifyRequestDeactivated([in] ICARequest *preq);
|
||||
[ id(2203),helpstring("method NotifyOfferAdded")] HRESULT NotifyOfferAdded([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[ id(2204),helpstring("method NotifyOfferRemoved")] HRESULT NotifyOfferRemoved([in] ICAOffer *pOffer,[in] long cOffers);
|
||||
[ id(2205),helpstring("method NotifyPolicyAdded")] HRESULT NotifyPolicyAdded([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[ id(2206),helpstring("method NotifyPolicyRemoved")] HRESULT NotifyPolicyRemoved([in] ICAPolicy *pPolicy,[in] long cPolicies);
|
||||
[ id(2207),helpstring("method NotifyRequestDenialAdded")] HRESULT NotifyRequestDenialAdded([in] ICARequest *preq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2208),helpstring("method NotifyRequestDenialRemoved")] HRESULT NotifyRequestDenialRemoved([in] ICARequest *preq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2209),helpstring("method NotifyDenialTollAdded")] HRESULT NotifyDenialTollAdded([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2210),helpstring("method NotifyDenialTollRemoved")] HRESULT NotifyDenialTollRemoved([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2211),helpstring("method NotifyTollDenialAdded")] HRESULT NotifyTollDenialAdded([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2212),helpstring("method NotifyTollDenialRemoved")] HRESULT NotifyTollDenialRemoved([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2213),helpstring("method NotifyOfferTollAdded")] HRESULT NotifyOfferTollAdded([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2214),helpstring("method NotifyOfferTollRemoved")] HRESULT NotifyOfferTollRemoved([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
|
||||
[ id(2215),helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateLast);
|
||||
[ id(2216),helpstring("method NotifyDenialStateChanged")] HRESULT NotifyDenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enStateLast);
|
||||
[ id(2217),helpstring("method NotifyComponentDenialAdded")] HRESULT NotifyComponentDenialAdded([in] ICAComponent *preq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
[ id(2218),helpstring("method NotifyComponentDenialRemoved")] HRESULT NotifyComponentDenialRemoved([in] ICAComponent *preq, [in] ICADenial *pDenial,[in] long cDenials);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166998-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("CA Default RequestDenial Control")
|
||||
]
|
||||
coclass CAResDenialTree
|
||||
{
|
||||
[default] interface ICAResDenialTree;
|
||||
[default, source] dispinterface _ICAResDenialTreeEvents;
|
||||
};
|
||||
|
||||
// -----------------------------
|
||||
|
||||
[
|
||||
uuid(11166991-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("_ICADefaultDlgEvents Interface")
|
||||
]
|
||||
dispinterface _ICADefaultDlgEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
};
|
||||
|
||||
[
|
||||
uuid(11166990-DF8A-463a-B620-7BEC23542010),
|
||||
helpstring("CADefaultDlg Class")
|
||||
]
|
||||
coclass CADefaultDlg
|
||||
{
|
||||
[default] interface ICADefaultDlg;
|
||||
[default, source] dispinterface _ICADefaultDlgEvents;
|
||||
};
|
||||
|
||||
// -------------------------------------
|
||||
// Magic way to define the SID_ ...
|
||||
|
||||
cpp_quote("#define SID_CAManager CLSID_CAManager")
|
||||
};
|
820
extern/include/DShowIDL/Mstvgs.idl
vendored
@ -1,820 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: GuideStore.idl
|
||||
//
|
||||
// Desc: IDL source for GuideStore.dll.
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// This file will be processed by the MIDL tool to
|
||||
// produce the type library (GuideStore.tlb) and marshalling code.
|
||||
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
|
||||
interface IObjects;
|
||||
interface IMetaProperties;
|
||||
interface IMetaProperty;
|
||||
interface IMetaPropertyCondition;
|
||||
interface IMetaPropertySet;
|
||||
interface IMetaPropertySets;
|
||||
interface IMetaPropertyType;
|
||||
interface IMetaPropertyTypes;
|
||||
|
||||
interface IGuideStore;
|
||||
interface IService;
|
||||
interface IServices;
|
||||
interface IProgram;
|
||||
interface IPrograms;
|
||||
interface IScheduleEntry;
|
||||
interface IScheduleEntries;
|
||||
interface IChannel;
|
||||
interface IChannels;
|
||||
interface IChannelLineup;
|
||||
interface IChannelLineups;
|
||||
interface IGuideDataProvider;
|
||||
interface IGuideDataProviders;
|
||||
|
||||
#define didAdd 10
|
||||
#define didAddAt 15
|
||||
#define didAddNew 20
|
||||
#define didAddNewAt 25
|
||||
#define didAnd 30
|
||||
#define didBeginTrans 35
|
||||
#define didChannelLineups 40
|
||||
#define didChannels 50
|
||||
#define didCommitTrans 55
|
||||
#define didCond 60
|
||||
#define didCopyrightDate 70
|
||||
#define didCount 80
|
||||
#define didDataEndTime 90
|
||||
#define didDefaultValue 100
|
||||
#define didDescription 110
|
||||
#define didEndTime 120
|
||||
#define didGuideDataProvider 135
|
||||
#define didGuideDataProviders 136
|
||||
#define didID 150
|
||||
#define didIdOf 155
|
||||
#define didIID 170
|
||||
#define didIsAnyDataAvailable 180
|
||||
#define didInit 190
|
||||
#define didItem DISPID_VALUE
|
||||
#define didItemAdded 195
|
||||
#define didItemChanged 196
|
||||
#define didItemRemoved 197
|
||||
#define didItemsByKey 198
|
||||
#define didItemsChanged 199
|
||||
#define didItemsInTimeRange 200
|
||||
#define didItemsWithCond 210
|
||||
#define didItemWithKey 215
|
||||
#define didItemsWithMetaProp 220
|
||||
#define didItemsWithMetaPropType 230
|
||||
#define didItemsWithService 240
|
||||
#define didItemsWithType 400
|
||||
#define didItemWithID 250
|
||||
#define didItemWithIID 260
|
||||
#define didItemWithName 270
|
||||
#define didItemWithMetaPropTypeLang 280
|
||||
#define didItemWithTypeProviderLang 285
|
||||
#define didItemWithProviderName 290
|
||||
#define didItemWithServiceAtTime 300
|
||||
#define didLanguage 310
|
||||
#define didLength 320
|
||||
#define didLookup 325
|
||||
#define didMax 330
|
||||
#define didMin 340
|
||||
#define didName 350
|
||||
#define didNew 360
|
||||
#define didNewCollection 370
|
||||
#define didNot 380
|
||||
#define didObjects 390
|
||||
#define didObjectTypes 410
|
||||
#define didOpen 420
|
||||
#define didOr 430
|
||||
#define didProgram 440
|
||||
#define didPrograms 450
|
||||
#define didRollbackTrans 455
|
||||
#define didMetaProperties 460
|
||||
#define didMetaPropertiesOf 465
|
||||
#define didMetaPropertySet 470
|
||||
#define didMetaPropertySets 480
|
||||
#define didMetaPropertyType 490
|
||||
#define didMetaPropertyTypes 500
|
||||
#define didProviderDescription 510
|
||||
#define didProviderName 520
|
||||
#define didProviderNetworkName 530
|
||||
#define didResync 535
|
||||
#define didItemInvRelBy 540
|
||||
#define didItemsInvRelBy 545
|
||||
#define didItemsInvRelToBy 546
|
||||
#define didItemRelBy 550
|
||||
#define didItemsRelBy 555
|
||||
#define didItemsRelToBy 556
|
||||
#define didRemove 560
|
||||
#define didRemoveAll 565
|
||||
#define didSchedEntries 570
|
||||
#define didService 580
|
||||
#define didServices 590
|
||||
#define didStartTime 600
|
||||
#define didTitle 620
|
||||
#define didType 630
|
||||
#define didTuneRequest 640
|
||||
#define didUnreferencedItems 650
|
||||
#define didValue DISPID_VALUE
|
||||
|
||||
|
||||
[
|
||||
uuid(8D9EEDCE-21E9-4845-82A8-99CEC53E6DB2),
|
||||
version(1.0),
|
||||
helpstring("Microsoft TV GuideStore 1.0 Type Library")
|
||||
]
|
||||
library MSTVGS
|
||||
{
|
||||
importlib("stdole2.tlb");
|
||||
[
|
||||
object,
|
||||
uuid(F71020D2-A467-4EB7-839A-63C8F40C7AB4),
|
||||
dual,
|
||||
helpstring("IMetaPropertySet Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMetaPropertySet : IDispatch
|
||||
{
|
||||
[propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propget, id(didMetaPropertyTypes), helpstring("property MetaPropertyTypes")] HRESULT MetaPropertyTypes([out, retval] IMetaPropertyTypes* *pVal);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(E8FD768C-EC4E-4DAB-A09C-011E8ECAE4D2),
|
||||
dual,
|
||||
helpstring("IMetaPropertySets Interface"),
|
||||
pointer_default(unique),
|
||||
nonextensible
|
||||
]
|
||||
interface IMetaPropertySets : IDispatch
|
||||
{
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT index, [out, retval] IMetaPropertySet* *ppropset);
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IMetaPropertySet* *ppropset);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(BSTR bstrName, [out, retval] IMetaPropertySet **pppropset);
|
||||
[propget, id(didLookup), helpstring("property Lookup")] HRESULT Lookup([in] BSTR bstr, [out, retval] IMetaPropertyType * *ppproptype);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(86502400-213B-4ADF-A1E2-76365E7172BD),
|
||||
dual,
|
||||
helpstring("IMetaPropertyType Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMetaPropertyType : IDispatch
|
||||
{
|
||||
[propget, id(didMetaPropertySet), helpstring("property MetaPropertySet")] HRESULT MetaPropertySet([out, retval] IMetaPropertySet* *ppropset);
|
||||
[propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
|
||||
[propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propget, id(didNew), helpstring("property New")] HRESULT New(long lang, VARIANT val, [out, retval] IMetaProperty* *pprop);
|
||||
[propget, id(didCond), helpstring("property Cond")] HRESULT Cond(BSTR bstrCond, long lang, VARIANT varValue, [out, retval] IMetaPropertyCondition* *ppropcond);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(9BF4984A-4CFE-4588-9FCF-828C74EF7104),
|
||||
dual,
|
||||
helpstring("IMetaPropertyTypes Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMetaPropertyTypes : IDispatch
|
||||
{
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT index, [out, retval] IMetaPropertyType* *pproptype);
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IMetaPropertyType* *pproptype);
|
||||
[propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IMetaPropertyType* *pproptype);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(long id, BSTR bstrName, [out, retval] IMetaPropertyType * *pVal);
|
||||
[propget, id(didMetaPropertySet), helpstring("property MetaPropertySet")] HRESULT MetaPropertySet([out, retval] IMetaPropertySet * *pVal);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(A4BBD2C0-D7E4-4FC2-8FB0-176DDBCB3D72),
|
||||
dual,
|
||||
helpstring("IMetaProperty Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMetaProperty : IDispatch
|
||||
{
|
||||
[propget, id(didMetaPropertyType), helpstring("property MetaPropertyType")] HRESULT MetaPropertyType([out, retval] IMetaPropertyType* *pproptype);
|
||||
[propget, id(didLanguage), helpstring("property Language")] HRESULT Language([out, retval] long *pVal);
|
||||
[propget, id(didGuideDataProvider), helpstring("property GuideDataProvider")] HRESULT GuideDataProvider([out, retval] IGuideDataProvider **ppprovider);
|
||||
[propget, id(didValue), helpstring("property Value")] HRESULT Value([out, retval] VARIANT *pvarValue);
|
||||
[propput, id(didValue), helpstring("property Value")] HRESULT Value([in] VARIANT varValue);
|
||||
[propputref, id(didValue), helpstring("property Value")] HRESULT Value([in] IUnknown *punk);
|
||||
[propget, id(didCond), helpstring("property Cond")] HRESULT Cond(BSTR bstrCond, [out, retval] IMetaPropertyCondition* *ppropcond);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(E7F78F69-8326-48A0-8E54-BBDCEE43BA70),
|
||||
dual,
|
||||
helpstring("IMetaProperties Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMetaProperties : IDispatch
|
||||
{
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT index, [out, retval] IMetaProperty* *pprop);
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItemWithMetaPropTypeLang), helpstring("property ItemWith")] HRESULT ItemWith(IMetaPropertyType *ptype, long lang, [out, retval] IMetaProperty* *pprop);
|
||||
[propget, id(didItemWithTypeProviderLang), helpstring("property ItemWithTypeProviderLang")] HRESULT ItemWithTypeProviderLang(IMetaPropertyType *ptype, IGuideDataProvider *pprovider, long lang, [out, retval] IMetaProperty* *pprop);
|
||||
[propget, id(didItemsWithMetaPropType), helpstring("property ItemsWithMetaPropertyType")] HRESULT ItemsWithMetaPropertyType(IMetaPropertyType *ptype, [out, retval] IMetaProperties* *pprops);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(IMetaPropertyType *pproptype, long lang, VARIANT varValue, [out, retval] IMetaProperty * *pVal);
|
||||
[id(didAdd), helpstring("method Add")] HRESULT Add(IMetaProperty *pprop);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(98FAAEF5-397A-4372-93A3-FB3DA49B3EF1),
|
||||
dual,
|
||||
helpstring("IMetaPropertyCondition Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMetaPropertyCondition : IDispatch
|
||||
{
|
||||
[propget, id(didAnd), helpstring("property And")] HRESULT And(IMetaPropertyCondition *pcond2, [out, retval] IMetaPropertyCondition* *ppropcond);
|
||||
[propget, id(didOr), helpstring("property Or")] HRESULT Or(IMetaPropertyCondition *pcond2, [out, retval] IMetaPropertyCondition* *ppropcond);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(E4A9F7DA-F38F-43D3-AB3B-7E9F9FB7A7C7),
|
||||
dual,
|
||||
helpstring("IGuideStore Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideStore : IDispatch
|
||||
{
|
||||
[propget, id(didIID), helpstring("property UUID")] HRESULT UUID([out, retval] BSTR *bstrUUID);
|
||||
[propget, id(didServices), helpstring("property Services")] HRESULT Services([out, retval] IServices * *pVal);
|
||||
[propget, id(didPrograms), helpstring("property Programs")] HRESULT Programs([out, retval] IPrograms * *pVal);
|
||||
[propget, id(didSchedEntries), helpstring("property ScheduleEntries")] HRESULT ScheduleEntries([out, retval] IScheduleEntries * *pVal);
|
||||
[propget, id(didGuideDataProviders), helpstring("property GuideDataProviders")] HRESULT GuideDataProviders([out, retval] IGuideDataProviders * *ppdataproviders);
|
||||
[propget, id(didMetaPropertySets), helpstring("property MetaPropertySets")] HRESULT MetaPropertySets([out, retval] IMetaPropertySets **pppropsets);
|
||||
[id(didOpen), helpstring("method Open")] HRESULT Open(BSTR bstrName);
|
||||
[propget, id(didObjects), helpstring("property Objects")] HRESULT Objects([out, retval] IObjects * *ppobjs);
|
||||
[propget, id(didChannels), helpstring("property Channels")] HRESULT Channels([out, retval] IChannels * *pVal);
|
||||
[propget, id(didChannelLineups), helpstring("property ChannelLineups")] HRESULT ChannelLineups([out, retval] IChannelLineups * *pVal);
|
||||
[propget, id(didGuideDataProvider), helpstring("property ActiveGuideDataProvider")] HRESULT ActiveGuideDataProvider([out, retval] IGuideDataProvider * *pVal);
|
||||
[propputref, id(didGuideDataProvider), helpstring("property ActiveGuideDataProvider")] HRESULT ActiveGuideDataProvider([in] IGuideDataProvider * newVal);
|
||||
|
||||
|
||||
[propget, id(didIdOf), helpstring("property IdOf")] HRESULT IdOf([in] IUnknown *punk, [out, retval] long *pVal);
|
||||
[propget, id(didMetaPropertiesOf), helpstring("property MetaPropertiesOf")] HRESULT MetaPropertiesOf([in] IUnknown *punk, [out, retval] IMetaProperties **ppprops);
|
||||
|
||||
[id(didBeginTrans), helpstring("method BeginTrans")] HRESULT BeginTrans();
|
||||
[id(didCommitTrans), helpstring("method CommitTrans")] HRESULT CommitTrans();
|
||||
[id(didRollbackTrans), helpstring("method RollbackTrans")] HRESULT RollbackTrans();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(E7267FA2-7EC0-4577-BE37-0BBF11028A56),
|
||||
helpstring("MetaPropertySet Class")
|
||||
]
|
||||
coclass MetaPropertySet
|
||||
{
|
||||
[default] interface IMetaPropertySet;
|
||||
};
|
||||
[
|
||||
uuid(027D8BB9-B860-4B96-B498-7EA609F33250),
|
||||
helpstring("MetaPropertySets Class")
|
||||
]
|
||||
coclass MetaPropertySets
|
||||
{
|
||||
[default] interface IMetaPropertySets;
|
||||
};
|
||||
[
|
||||
uuid(A09139F3-47ED-4492-A45E-F7F11B121F4F),
|
||||
helpstring("MetaPropertyType Class")
|
||||
]
|
||||
coclass MetaPropertyType
|
||||
{
|
||||
[default] interface IMetaPropertyType;
|
||||
};
|
||||
[
|
||||
uuid(5F24A17F-1DDE-4F37-8B29-489229175C73),
|
||||
helpstring("MetaPropertyTypes Class")
|
||||
]
|
||||
coclass MetaPropertyTypes
|
||||
{
|
||||
[default] interface IMetaPropertyTypes;
|
||||
};
|
||||
[
|
||||
uuid(A42A1FF3-BC43-4714-8B94-06103474372B),
|
||||
helpstring("MetaProperty Class")
|
||||
]
|
||||
coclass MetaProperty
|
||||
{
|
||||
[default] interface IMetaProperty;
|
||||
};
|
||||
[
|
||||
uuid(78B8FA05-01B2-4B0A-B6E0-59FC6C0E7A5E),
|
||||
helpstring("MetaProperties Class")
|
||||
]
|
||||
coclass MetaProperties
|
||||
{
|
||||
[default] interface IMetaProperties;
|
||||
};
|
||||
[
|
||||
uuid(3B575572-EC9F-447D-9554-17C6E92E8328),
|
||||
helpstring("MetaPropertyCondition Class")
|
||||
]
|
||||
coclass MetaPropertyCondition
|
||||
{
|
||||
[default] interface IMetaPropertyCondition;
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(59745450-F0F4-4B3F-B49E-55664E425CF6),
|
||||
dual,
|
||||
helpstring("IService Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IService : IDispatch
|
||||
{
|
||||
[propget, id(didTuneRequest), helpstring("property TuneRequest")] HRESULT TuneRequest([out, retval] IUnknown * *ppunk);
|
||||
[propputref, id(didTuneRequest), helpstring("property TuneRequest")] HRESULT TuneRequest([in] IUnknown *punk);
|
||||
[propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
|
||||
[propget, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pdt);
|
||||
[propput, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([in] DATE dt);
|
||||
[propget, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([out, retval] DATE *pdt);
|
||||
[propput, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([in] DATE dt);
|
||||
[propget, id(didProviderName), helpstring("property ProviderName")] HRESULT ProviderName([out, retval] BSTR *pbstrName);
|
||||
[propput, id(didProviderName), helpstring("property ProviderName")] HRESULT ProviderName([in] BSTR bstrName);
|
||||
[propget, id(didProviderNetworkName), helpstring("property ProviderNetworkName")] HRESULT ProviderNetworkName([out, retval] BSTR *pbstrName);
|
||||
[propput, id(didProviderNetworkName), helpstring("property ProviderNetworkName")] HRESULT ProviderNetworkName([in] BSTR bstrName);
|
||||
[propget, id(didProviderDescription), helpstring("property ProviderDescription")] HRESULT ProviderDescription([out, retval] BSTR *pbstrDesc);
|
||||
[propput, id(didProviderDescription), helpstring("property ProviderDescription")] HRESULT ProviderDescription([in] BSTR bstrDescr);
|
||||
[propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
|
||||
[propget, id(didSchedEntries), helpstring("property ScheduleEntries")] HRESULT ScheduleEntries([out, retval] IScheduleEntries * *pVal);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(D3517044-B747-42C0-AFD5-31265ABA4977),
|
||||
dual,
|
||||
helpstring("IServices Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IServices : IDispatch
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IService * *pVal);
|
||||
[propget, id(didChannelLineups), helpstring("property ChannelLineups")] HRESULT ChannelLineups([out, retval] IChannelLineups * *pVal);
|
||||
[id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
|
||||
[propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IService * *pVal);
|
||||
[propget, id(didItemWithProviderName), helpstring("property ItemWithProviderName")] HRESULT ItemWithProviderName(BSTR bstrProviderName, [out, retval] IService * *pVal);
|
||||
[propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IServices * *ppservices);
|
||||
[propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IServices * *ppservices);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(IUnknown *punkTuneRequest, BSTR bstrProviderName, BSTR bstrProviderDescription, BSTR bstrProviderNetworkName, DATE dtStart, DATE dtEnd, [out, retval] IService * *pVal);
|
||||
[propget, id(didItemsInTimeRange), helpstring("property ItemsInTimeRange")] HRESULT ItemsInTimeRange(DATE dtStart, DATE dtEnd, [out, retval] IServices * *pVal);
|
||||
[id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
|
||||
[id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IServices **ppservices);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IServices * *ppservices);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IService * *ppservice);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(C4001F96-2DEE-4C33-B807-F829889A8CCD),
|
||||
helpstring("GuideStore Class")
|
||||
]
|
||||
coclass GuideStore
|
||||
{
|
||||
[default] interface IGuideStore;
|
||||
};
|
||||
[
|
||||
uuid(957D8D57-32B1-4BE3-8E37-EC8849F16815),
|
||||
helpstring("Service Class")
|
||||
]
|
||||
coclass Service
|
||||
{
|
||||
[default] interface IService;
|
||||
};
|
||||
[
|
||||
uuid(CCFB9EC5-E28E-4DE1-BD07-1C79303DE0A0),
|
||||
helpstring("IServicesEvents Interface")
|
||||
]
|
||||
dispinterface IServicesEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IService *pservice);
|
||||
[id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IService *pservice);
|
||||
[id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(FC91783E-5703-4319-A5B1-19555059559C),
|
||||
dual,
|
||||
helpstring("IProgram Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IProgram : IDispatch
|
||||
{
|
||||
[propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
|
||||
[propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
|
||||
[propget, id(didSchedEntries), helpstring("property ScheduleEntries")] HRESULT ScheduleEntries([out, retval] IScheduleEntries * *pVal);
|
||||
[propget, id(didTitle), helpstring("property Title")] HRESULT Title([out, retval] BSTR *pVal);
|
||||
[propput, id(didTitle), helpstring("property Title")] HRESULT Title([in] BSTR newVal);
|
||||
[propget, id(didDescription), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
|
||||
[propput, id(didDescription), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
|
||||
[propget, id(didCopyrightDate), helpstring("property CopyrightDate")] HRESULT CopyrightDate([out, retval] DATE *pVal);
|
||||
[propput, id(didCopyrightDate), helpstring("property CopyrightDate")] HRESULT CopyrightDate([in] DATE newVal);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(8786250A-8EF8-4A51-B80A-643CCF835DB6),
|
||||
dual,
|
||||
helpstring("IPrograms Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IPrograms : IDispatch
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IProgram * *pVal);
|
||||
[propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IProgram * *pVal);
|
||||
[propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IPrograms * *pVal);
|
||||
[propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IPrograms * *pVal);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew([out, retval] IProgram * *ppprog);
|
||||
[id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IPrograms **ppprogs);
|
||||
[id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
|
||||
[id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IPrograms * *ppprogs);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IProgram * *ppprog);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(43F457D2-C955-48E2-91AD-B91C9154C613),
|
||||
helpstring("Services Class")
|
||||
]
|
||||
coclass Services
|
||||
{
|
||||
[default] interface IServices;
|
||||
[default, source] dispinterface IServicesEvents;
|
||||
};
|
||||
[
|
||||
uuid(C51F670A-7D1A-494E-931D-886BFDB2B438),
|
||||
helpstring("Program Class")
|
||||
]
|
||||
coclass Program
|
||||
{
|
||||
[default] interface IProgram;
|
||||
};
|
||||
[
|
||||
uuid(9AB9E463-1EC4-4D6B-AC80-5238561918EE),
|
||||
helpstring("IProgramsEvents Interface")
|
||||
]
|
||||
dispinterface IProgramsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IProgram *pprog);
|
||||
[id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IProgram *pprog);
|
||||
[id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(6C46F789-2156-4AF0-97D7-38D99E2C9160),
|
||||
dual,
|
||||
helpstring("IScheduleEntry Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IScheduleEntry : IDispatch
|
||||
{
|
||||
[propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
|
||||
[propget, id(didService), helpstring("property Service")] HRESULT Service([out, retval] IService * *ppservice);
|
||||
[propputref, id(didService), helpstring("property Service")] HRESULT Service([in] IService * pservice);
|
||||
[propget, id(didProgram), helpstring("property Program")] HRESULT Program([out, retval] IProgram * *ppprog);
|
||||
[propputref, id(didProgram), helpstring("property Program")] HRESULT Program([in] IProgram * pprog);
|
||||
[propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
|
||||
[propget, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pdt);
|
||||
[propput, id(didStartTime), helpstring("property StartTime")] HRESULT StartTime([in] DATE dt);
|
||||
[propget, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([out, retval] DATE *pdt);
|
||||
[propput, id(didEndTime), helpstring("property EndTime")] HRESULT EndTime([in] DATE dt);
|
||||
[propget, id(didLength), helpstring("property Length")] HRESULT Length([out, retval] long *pVal);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(E5FDD9C4-8E60-4BEB-BBC8-93BE39C75BAA),
|
||||
dual,
|
||||
helpstring("IScheduleEntries Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IScheduleEntries : IDispatch
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IScheduleEntry * *pVal);
|
||||
[propget, id(didItemWithServiceAtTime), helpstring("property ItemWithServiceAtTime")] HRESULT ItemWithServiceAtTime(IService *pservice, DATE dt, [out, retval] IScheduleEntry * *pVal);
|
||||
[propget, id(didItemsWithService), helpstring("property ItemsWithService")] HRESULT ItemsWithService(IService *pservice, [out, retval] IScheduleEntries **ppschedentries);
|
||||
[propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IScheduleEntries * *pVal);
|
||||
[propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IScheduleEntries * *pVal);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(DATE dtStart, DATE dtEnd, IService *pservice, IProgram *pprog, [out, retval] IScheduleEntry * *pVal);
|
||||
[id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
|
||||
[id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
|
||||
[propget, id(didItemsInTimeRange), helpstring("property ItemsInTimeRange")] HRESULT ItemsInTimeRange(DATE dtStart, DATE dtEnd, [out, retval] IScheduleEntries * *pVal);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IScheduleEntries * *ppschedentries);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IScheduleEntry * *ppschedentry);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(16C9C579-B3F4-4C94-88EC-A65EA0B839E7),
|
||||
helpstring("Programs Class")
|
||||
]
|
||||
coclass Programs
|
||||
{
|
||||
[default] interface IPrograms;
|
||||
[default, source] dispinterface IProgramsEvents;
|
||||
};
|
||||
[
|
||||
uuid(AFEBCA90-0FF9-48BD-BC98-95477A631BBB),
|
||||
helpstring("ScheduleEntry Class")
|
||||
]
|
||||
coclass ScheduleEntry
|
||||
{
|
||||
[default] interface IScheduleEntry;
|
||||
};
|
||||
[
|
||||
uuid(32692A48-F4B5-4826-BE88-E7F8ED9E65DC),
|
||||
helpstring("IScheduleEntriesEvents Interface")
|
||||
]
|
||||
dispinterface IScheduleEntriesEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IScheduleEntry *pschedentry);
|
||||
[id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IScheduleEntry *pschedentry);
|
||||
[id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(ED7DF8CD-4861-4389-8149-8EDE63A51F38),
|
||||
dual,
|
||||
helpstring("IChannel Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IChannel : IDispatch
|
||||
{
|
||||
[propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propput, id(didName), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
|
||||
[propget, id(didService), helpstring("property Service")] HRESULT Service([out, retval] IService * *ppservice);
|
||||
[propputref, id(didService), helpstring("property Service")] HRESULT Service([in] IService *pservice);
|
||||
[propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
|
||||
[propget, id(didChannelLineups), helpstring("property ChannelLineups")] HRESULT ChannelLineups([out, retval] IChannelLineups * *pVal);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(226D6AD0-7026-494F-BCAD-FAB087E67290),
|
||||
helpstring("ScheduleEntries Class")
|
||||
]
|
||||
coclass ScheduleEntries
|
||||
{
|
||||
[default] interface IScheduleEntries;
|
||||
[default, source] dispinterface IScheduleEntriesEvents;
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(3BAE53BD-70F0-4C7B-8C9E-E0317FFF8D79),
|
||||
dual,
|
||||
helpstring("IChannels Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IChannels : IDispatch
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IChannel * *pVal);
|
||||
[id(didAddAt), helpstring("method AddAt")] HRESULT AddAt(IChannel *pchan, long index);
|
||||
[id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT index);
|
||||
[propget, id(didAddNewAt), helpstring("property AddNewAt")] HRESULT AddNewAt(IService *pservice, BSTR bstrName, long index, [out, retval] IChannel * *pVal);
|
||||
[propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IChannel **ppchan);
|
||||
[propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IChannels * *ppchannels);
|
||||
[id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
|
||||
[id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IChannels **ppchans);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IChannels * *ppchans);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IChannel * *ppchan);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(83568B75-1FCC-4853-957A-9CF617B350A3),
|
||||
helpstring("Channel Class")
|
||||
]
|
||||
coclass Channel
|
||||
{
|
||||
[default] interface IChannel;
|
||||
};
|
||||
[
|
||||
uuid(6E945C62-0AB7-4D89-BB9E-212502FC7C88),
|
||||
helpstring("IChannelsEvents Interface")
|
||||
]
|
||||
dispinterface IChannelsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IChannel *pchan);
|
||||
[id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IChannel *pchan);
|
||||
[id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(AB3FF8DB-C718-4ABD-98DE-E14DC74F4872),
|
||||
dual,
|
||||
helpstring("IChannelLineup Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IChannelLineup : IDispatch
|
||||
{
|
||||
[propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
||||
[propput, id(didName), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
|
||||
[propget, id(didChannels), helpstring("property Channels")] HRESULT Channels([out, retval] IChannels * *pVal);
|
||||
[propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(73AF9077-4F6D-4FCB-A9E2-FDFBB9AE5310),
|
||||
helpstring("Channels Class")
|
||||
]
|
||||
coclass Channels
|
||||
{
|
||||
[default] interface IChannels;
|
||||
[default, source] dispinterface IChannelsEvents;
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(2F78C3E1-98FE-4526-A0A7-A621025AEFF6),
|
||||
dual,
|
||||
helpstring("IChannelLineups Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IChannelLineups : IDispatch
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IChannelLineup **ppchanlineup);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew(BSTR bstrName, [out, retval] IChannelLineup * *pVal);
|
||||
[id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
|
||||
[id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
|
||||
[id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IChannelLineups **ppchanlineups);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IChannelLineups * *ppchanlineups);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IChannelLineup * *ppchanlineup);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(8F86A876-E12A-4159-9647-EAFE0288014F),
|
||||
helpstring("ChannelLineup Class")
|
||||
]
|
||||
coclass ChannelLineup
|
||||
{
|
||||
[default] interface IChannelLineup;
|
||||
};
|
||||
[
|
||||
uuid(1E3971E3-CCDC-445D-AE97-A15D5D4A40C9),
|
||||
helpstring("IChannelLineupsEvents Interface")
|
||||
]
|
||||
dispinterface IChannelLineupsEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IChannelLineup *pchanlineup);
|
||||
[id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IChannelLineup *pchanlineup);
|
||||
[id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(E8F1FBD5-4E44-4C26-B3D2-2C1C6999D611),
|
||||
dual,
|
||||
helpstring("IObjects Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IObjects : IUnknown
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IUnknown * *ppunk);
|
||||
[propget, id(didItemsWithType), helpstring("property ItemsWithType")] HRESULT ItemsWithType(BSTR bstrCLSID, [out, retval] IObjects * *pVal);
|
||||
[propget, id(didItemWithIID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IUnknown * *ppunk);
|
||||
[propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IObjects * *pVal);
|
||||
[propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *ppropcond, [out, retval] IObjects * *pVal);
|
||||
[id(didAddAt), helpstring("method AddAt")] HRESULT AddAt(IUnknown *punk, long index);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew([out, retval] IUnknown * *ppunk);
|
||||
[id(didRemove), helpstring("method Remove")] HRESULT Remove(VARIANT varIndex);
|
||||
[id(didRemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
|
||||
[propget, id(didAddNewAt), helpstring("property AddNewAt")] HRESULT AddNewAt([in] long index, [out, retval] IUnknown * *ppunk);
|
||||
[propget, id(didItemsInTimeRange), helpstring("property ItemsInTimeRange")] HRESULT ItemsInTimeRange(DATE dtStart, DATE dtEnd, [out, retval] IObjects * *pVal);
|
||||
[propget, id(didItemsRelToBy), helpstring("property ItemsRelatedToBy")] HRESULT ItemsRelatedToBy([in] IUnknown *pobj, [in] IMetaPropertyType *pproptype, [out, retval] IObjects * *ppobjs);
|
||||
[propget, id(didItemsInvRelToBy), helpstring("property ItemsInverseRelatedToBy")] HRESULT ItemsInverseRelatedToBy([in] IUnknown *pobj, [in] IMetaPropertyType *pproptype, [out, retval] IObjects * *ppobjs);
|
||||
[id(didUnreferencedItems), helpstring("method UnreferencedItems")] HRESULT UnreferencedItems([out, retval] IObjects **ppobjs);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IObjects * *pVal);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IUnknown * *ppunk);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(8520EF80-1C19-4CB0-83FA-67DB59CC9AE4),
|
||||
helpstring("ChannelLineups Class")
|
||||
]
|
||||
coclass ChannelLineups
|
||||
{
|
||||
[default] interface IChannelLineups;
|
||||
[default, source] dispinterface IChannelLineupsEvents;
|
||||
};
|
||||
[
|
||||
uuid(83375A19-A098-42CF-9206-EE36FE48C637),
|
||||
helpstring("IObjectsNotifications Interface")
|
||||
]
|
||||
interface IObjectsNotifications : IUnknown
|
||||
{
|
||||
[id(didItemAdded), helpstring("method Notify_ItemAdded")] HRESULT Notify_ItemAdded(IUnknown *punk);
|
||||
[id(didItemRemoved), helpstring("method Notify_ItemRemoved")] HRESULT Notify_ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method Notify_ItemChanged")] HRESULT Notify_ItemChanged(IUnknown *punk);
|
||||
[id(didItemsChanged), helpstring("method Notify_ItemsChanged")] HRESULT Notify_ItemsChanged();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(B485447D-B180-420F-B2A5-E7BBCEA07EAD),
|
||||
aggregatable,
|
||||
helpstring("Objects Class")
|
||||
]
|
||||
coclass Objects
|
||||
{
|
||||
[default] interface IObjects;
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(4B16049B-E548-4868-B303-D501340E2CB1),
|
||||
dual,
|
||||
helpstring("IGuideDataProvider Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideDataProvider : IDispatch
|
||||
{
|
||||
[propget, id(didID), helpstring("property ID")] HRESULT ID([out, retval] long *pVal);
|
||||
[propget, id(didName), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pbstrName);
|
||||
[propget, id(didDescription), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pbstrDesc);
|
||||
[propput, id(didDescription), helpstring("property Description")] HRESULT Description([in] BSTR bstrDesc);
|
||||
[propget, id(didMetaProperties), helpstring("property MetaProperties")] HRESULT MetaProperties([out, retval] IMetaProperties * *pVal);
|
||||
};
|
||||
[
|
||||
object,
|
||||
uuid(CA9DE996-637C-47BF-BC10-CF956BE298EC),
|
||||
dual,
|
||||
helpstring("IGuideDataProviders Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGuideDataProviders : IDispatch
|
||||
{
|
||||
[propget, id(didCount), helpstring("property Count")] HRESULT Count([out, retval] long *plCount);
|
||||
[propget, id(didItem), helpstring("property Item")] HRESULT Item(VARIANT varIndex, [out, retval] IGuideDataProvider * *ppdataprovider);
|
||||
[propget, id(didItemWithID), helpstring("property ItemWithID")] HRESULT ItemWithID(long id, [out, retval] IGuideDataProvider * *ppdataprovider);
|
||||
[propget, id(didItemWithName), helpstring("property ItemWithName")] HRESULT ItemWithName(BSTR bstrName, [out, retval] IGuideDataProvider **ppdataprovider);
|
||||
[propget, id(didItemsWithMetaProp), helpstring("property ItemsWithMetaProperty")] HRESULT ItemsWithMetaProperty(IMetaProperty *pprop, [out, retval] IGuideDataProviders * *ppdataproviders);
|
||||
[propget, id(didItemsWithCond), helpstring("property ItemsWithMetaPropertyCond")] HRESULT ItemsWithMetaPropertyCond(IMetaPropertyCondition *pcond, [out, retval] IGuideDataProviders * *ppdataproviders);
|
||||
[propget, id(didAddNew), helpstring("property AddNew")] HRESULT AddNew([in] BSTR bstrName, [out, retval] IGuideDataProvider * *ppdataprovider);
|
||||
|
||||
[propget, id(didItemsByKey), helpstring("property ItemsByKey")] HRESULT ItemsByKey([in] IMetaPropertyType *pproptype, [in] IGuideDataProvider *pprovider, [in] long idLang, [in] long vt, [out, retval] IGuideDataProviders * *ppproviders);
|
||||
[propget, id(didItemWithKey), helpstring("property ItemWithKey")] HRESULT ItemWithKey(VARIANT varIndex, [out, retval] IGuideDataProvider * *ppprovider);
|
||||
[id(didResync), helpstring("method Resync")] HRESULT Resync();
|
||||
};
|
||||
[
|
||||
uuid(3CFC7A68-76E9-4F1D-8ECE-08C44F4FFC3E),
|
||||
helpstring("GuideDataProvider Class")
|
||||
]
|
||||
coclass GuideDataProvider
|
||||
{
|
||||
[default] interface IGuideDataProvider;
|
||||
};
|
||||
[
|
||||
uuid(850A646E-140B-43B0-A243-20CC6B9FA8BC),
|
||||
helpstring("IGuideDataProvidersEvents Interface")
|
||||
]
|
||||
dispinterface IGuideDataProvidersEvents
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
[id(didItemAdded), helpstring("method ItemAdded")] HRESULT ItemAdded(IChannelLineup *pchanlineup);
|
||||
[id(didItemRemoved), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] long idObj);
|
||||
[id(didItemChanged), helpstring("method ItemChanged")] HRESULT ItemChanged(IChannelLineup *pchanlineup);
|
||||
[id(didItemsChanged), helpstring("method ItemsChanged")] HRESULT ItemsChanged();
|
||||
};
|
||||
|
||||
[
|
||||
uuid(6E30077E-2E0B-4D4A-92B0-CDB5E5116E3B),
|
||||
helpstring("GuideDataProviders Class")
|
||||
]
|
||||
coclass GuideDataProviders
|
||||
{
|
||||
[default] interface IGuideDataProviders;
|
||||
[default, source] dispinterface IGuideDataProvidersEvents;
|
||||
};
|
||||
};
|
587
extern/include/DShowIDL/Msvidctl.idl
vendored
@ -1,587 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: MSVidCtl.idl
|
||||
//
|
||||
// Desc: IDL source for MSVidCtl.dll.
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// This file will be processed by the MIDL tool to
|
||||
// produce the type library (MSVidCtl.tlb) and marshalling code.
|
||||
|
||||
|
||||
cpp_quote("//+-------------------------------------------------------------------------")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// Microsoft Windows")
|
||||
cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2001.")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//--------------------------------------------------------------------------")
|
||||
cpp_quote("#pragma once")
|
||||
|
||||
#include <olectl.h>
|
||||
#ifndef DO_NO_IMPORTS
|
||||
#ifndef TUNING_MODEL_ONLY
|
||||
import "mshtml.idl";
|
||||
import "mstve.idl";
|
||||
import "mstvca.idl";
|
||||
import "segment.idl";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef TUNING_MODEL_ONLY
|
||||
typedef enum {
|
||||
dispidInputs,
|
||||
dispidOutputs,
|
||||
dispid_Inputs,
|
||||
dispid_Outputs,
|
||||
dispidVideoRenderers,
|
||||
dispidAudioRenderers,
|
||||
dispidFeatures,
|
||||
dispidInput,
|
||||
dispidOutput,
|
||||
dispidVideoRenderer,
|
||||
dispidAudioRenderer,
|
||||
dispidSelectedFeatures,
|
||||
dispidView, // total graph control
|
||||
dispidBuild,
|
||||
dispidPause,
|
||||
dispidRun,
|
||||
dispidStop,
|
||||
dispidDecompose,
|
||||
dispidDisplaySize,
|
||||
dispidMaintainAspectRatio,
|
||||
dispidColorKey,
|
||||
dispidStateChange,
|
||||
dispidgetState,
|
||||
dispidunbind,
|
||||
dispidbind,
|
||||
dispidDisableVideo,
|
||||
dispidDisableAudio,
|
||||
dispidViewNext,
|
||||
} MSViddispidList;
|
||||
|
||||
typedef enum {
|
||||
dslDefaultSize,
|
||||
dslSourceSize = 0, // synonym
|
||||
dslHalfSourceSize,
|
||||
dslDoubleSourceSize,
|
||||
dslFullScreen,
|
||||
dslHalfScreen,
|
||||
dslQuarterScreen,
|
||||
dslSixteenthScreen
|
||||
} DisplaySizeList;
|
||||
|
||||
typedef enum {
|
||||
STATE_UNBUILT =-1,
|
||||
STATE_STOP,
|
||||
STATE_PAUSE,
|
||||
STATE_PLAY,
|
||||
|
||||
} MSVidCtlStateList;
|
||||
|
||||
//*****************************************************************************
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// the full Viewer control
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//*****************************************************************************
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
object,
|
||||
uuid(B0EDF162-910A-11D2-B632-00C04F79498E),
|
||||
dual,
|
||||
hidden,
|
||||
nonextensible,
|
||||
helpstring("MS Video Control Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMSVidCtl : IDispatch
|
||||
{
|
||||
// stock props
|
||||
[propget, id(DISPID_AUTOSIZE)]
|
||||
HRESULT AutoSize([out,retval]VARIANT_BOOL* pbool);
|
||||
[propput, id(DISPID_AUTOSIZE)]
|
||||
HRESULT AutoSize([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_BACKCOLOR)]
|
||||
HRESULT BackColor([out,retval]OLE_COLOR* backcolor);
|
||||
[propput, id(DISPID_BACKCOLOR)]
|
||||
HRESULT BackColor([in]OLE_COLOR backcolor);
|
||||
[propget, id(DISPID_ENABLED)]
|
||||
HRESULT Enabled([out,retval]VARIANT_BOOL* pbool);
|
||||
[propput, id(DISPID_ENABLED)]
|
||||
HRESULT Enabled([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_TABSTOP)]
|
||||
HRESULT TabStop([out, retval]VARIANT_BOOL* pbool);
|
||||
[propput, id(DISPID_TABSTOP)]
|
||||
HRESULT TabStop([in]VARIANT_BOOL vbool);
|
||||
[propget, id(DISPID_HWND)]
|
||||
HRESULT Window([out, retval]HWND* phwnd);
|
||||
[id(DISPID_REFRESH)]
|
||||
HRESULT Refresh();
|
||||
// pseudo video renderer properties/methods that require access to ole container
|
||||
[propget, id(dispidDisplaySize)]
|
||||
HRESULT DisplaySize([out,retval]DisplaySizeList *CurrentValue);
|
||||
[propput, id(dispidDisplaySize)]
|
||||
HRESULT DisplaySize([in]DisplaySizeList NewValue);
|
||||
[propget, id(dispidMaintainAspectRatio)]
|
||||
HRESULT MaintainAspectRatio([out,retval]VARIANT_BOOL *CurrentValue);
|
||||
[propput, id(dispidMaintainAspectRatio)]
|
||||
HRESULT MaintainAspectRatio([in]VARIANT_BOOL NewValue);
|
||||
|
||||
// non-stock visual propertiies that require coordination/implementation with
|
||||
// core ctl drawing/painting function
|
||||
[propget, id(dispidColorKey)]
|
||||
HRESULT ColorKey([out,retval]OLE_COLOR *CurrentValue);
|
||||
[propput, id(dispidColorKey)]
|
||||
HRESULT ColorKey([in]OLE_COLOR NewValue);
|
||||
|
||||
|
||||
|
||||
// available collections
|
||||
[propget, id(dispidInputs), helpstring("Available Input Devices")] HRESULT InputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
|
||||
[propget, id(dispidOutputs), helpstring("Available Output Devices")] HRESULT OutputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
|
||||
[propget, id(dispid_Inputs), hidden, restricted, helpstring("Available Input Devices")] HRESULT _InputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
|
||||
[propget, id(dispid_Outputs), hidden, restricted, helpstring("Available Output Devices")] HRESULT _OutputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
|
||||
[propget, id(dispidVideoRenderers), helpstring("Available Video Renderers")] HRESULT VideoRenderersAvailable([out, retval] IMSVidVideoRendererDevices * *pVal);
|
||||
[propget, id(dispidAudioRenderers), helpstring("Available Audio Renderers")] HRESULT AudioRenderersAvailable([out, retval] IMSVidAudioRendererDevices * *pVal);
|
||||
[propget, id(dispidFeatures), helpstring("Available Features")] HRESULT FeaturesAvailable([out, retval] IMSVidFeatures * *pVal);
|
||||
|
||||
// current selections
|
||||
[propget, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([out, retval] IMSVidInputDevice **pVal);
|
||||
[propput, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([in] IMSVidInputDevice *pVal);
|
||||
[propget, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([out, retval] IMSVidOutputDevices **pVal);
|
||||
[propput, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([in] IMSVidOutputDevices *pVal);
|
||||
[propget, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([out, retval] IMSVidVideoRenderer **pVal);
|
||||
[propput, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([in] IMSVidVideoRenderer *pVal);
|
||||
[propget, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([out, retval] IMSVidAudioRenderer **pVal);
|
||||
[propput, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([in] IMSVidAudioRenderer *pVal);
|
||||
[propget, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([out, retval] IMSVidFeatures **pVal);
|
||||
[propput, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([in] IMSVidFeatures *pVal);
|
||||
[propget, id(dispidgetState), helpstring("Check the current MSVidCtl state.")] HRESULT State([out, retval]MSVidCtlStateList* lState);
|
||||
|
||||
// methods
|
||||
[id(dispidView), helpstring("Find an input device for viewing the specified item. This may be a string(VT_BSTR) or an object(VT_UNKNOWN).")] HRESULT View([in] VARIANT* v);
|
||||
[id(dispidBuild), helpstring("Compose the graph")] HRESULT Build();
|
||||
[id(dispidPause), helpstring("Stop the graph")] HRESULT Pause();
|
||||
[id(dispidRun), helpstring("Compose the graph if necessary and start it running")] HRESULT Run();
|
||||
[id(dispidStop), helpstring("Stop the graph")] HRESULT Stop();
|
||||
[id(dispidDecompose), helpstring("Disassemble the graph(Inverse of Build)")] HRESULT Decompose();
|
||||
[id(dispidDisableVideo), helpstring("set active video renderer to nothing")] HRESULT DisableVideo();
|
||||
[id(dispidDisableAudio), helpstring("set active Audio renderer to nothing")] HRESULT DisableAudio();
|
||||
[id(dispidViewNext), helpstring("Find another input device for viewing the specified item. Works like View except skips current input")] HRESULT ViewNext([in] VARIANT* v);
|
||||
|
||||
};
|
||||
|
||||
///Added for the mseventbinder
|
||||
[
|
||||
object,
|
||||
dual,
|
||||
oleautomation,
|
||||
hidden,
|
||||
nonextensible,
|
||||
pointer_default(unique),
|
||||
uuid(C3A9F406-2222-436D-86D5-BA3229279EFB),
|
||||
helpstring("IMSEventBinder Interface"),
|
||||
]
|
||||
interface IMSEventBinder : IDispatch {
|
||||
[id(dispidbind), helpstring("method Bind")] HRESULT Bind([in]LPDISPATCH pEventObject, [in]BSTR EventName, [in]BSTR EventHandler, [out, retval] LONG * CancelID);
|
||||
[id(dispidunbind), helpstring("method Unbind")] HRESULT Unbind([in]DWORD CancelCookie);
|
||||
};
|
||||
|
||||
////
|
||||
|
||||
#endif // TUNING_MODEL_ONLY
|
||||
|
||||
//*****************************************************************************
|
||||
//*****************************************************************************
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
// Type Library for MS Video Control
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
//*****************************************************************************
|
||||
//*****************************************************************************
|
||||
|
||||
|
||||
[
|
||||
uuid(B0EDF154-910A-11D2-B632-00C04F79498E),
|
||||
version(1.0),
|
||||
helpstring("MS Video Control 1.0 Type Library")
|
||||
]
|
||||
library MSVidCtlLib
|
||||
{
|
||||
importlib("stdole2.tlb");
|
||||
|
||||
|
||||
#ifndef TUNING_MODEL_ONLY
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// event interfaces
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[
|
||||
uuid(B0EDF164-910A-11D2-B632-00C04F79498E),
|
||||
helpstring("MS Video Control Events Interface")
|
||||
]
|
||||
dispinterface _IMSVidCtlEvents
|
||||
{
|
||||
properties:
|
||||
// Event interface has no properties
|
||||
methods:
|
||||
[id(DISPID_CLICK)] void Click();
|
||||
[id(DISPID_DBLCLICK)] void DblClick();
|
||||
[id(DISPID_KEYDOWN)] void KeyDown(short* KeyCode, short Shift);
|
||||
[id(DISPID_KEYPRESS)] void KeyPress(short* KeyAscii);
|
||||
[id(DISPID_KEYUP)] void KeyUp(short* KeyCode, short Shift);
|
||||
[id(DISPID_MOUSEDOWN)] void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
|
||||
[id(DISPID_MOUSEMOVE)] void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
|
||||
[id(DISPID_MOUSEUP)] void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
|
||||
[id(DISPID_ERROREVENT)] void Error(short Number, BSTR* Description, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* CancelDisplay);
|
||||
[id(dispidStateChange)] void StateChange(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState);
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// device classes
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
//*****************************************************************************
|
||||
|
||||
// inputs
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(1C15D484-911D-11d2-B632-00C04F79498E),
|
||||
helpstring("MS Video Control Analog TV Tuner Device Class")
|
||||
]
|
||||
coclass MSVidAnalogTunerDevice
|
||||
{
|
||||
[default] interface IMSVidAnalogTuner;
|
||||
[default, source] interface IMSVidAnalogTunerEvent;
|
||||
interface IMSVidGraphSegment;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(A2E3074E-6C3D-11d3-B653-00C04F79498E),
|
||||
helpstring("MS Video Control BDA Tuner Device Class")
|
||||
]
|
||||
coclass MSVidBDATunerDevice
|
||||
{
|
||||
[default] interface IMSVidTuner;
|
||||
[default, source] interface IMSVidTunerEvent;
|
||||
interface IMSVidGraphSegment;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(37B0353C-A4C8-11d2-B634-00C04F79498E),
|
||||
helpstring("MS Video Control File Playback Device Class")
|
||||
]
|
||||
coclass MSVidFilePlaybackDevice
|
||||
{
|
||||
[default] interface IMSVidFilePlayback;
|
||||
[default, source] interface IMSVidFilePlaybackEvent;
|
||||
interface IMSVidGraphSegment;
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
uuid(011B3619-FE63-4814-8A84-15A194CE9CE3),
|
||||
helpstring("MSVidWebDVD Class")
|
||||
]
|
||||
coclass MSVidWebDVD
|
||||
{
|
||||
[default] interface IMSVidWebDVD;
|
||||
[default, source] interface IMSVidWebDVDEvent;
|
||||
interface IMSVidGraphSegment;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(FA7C375B-66A7-4280-879D-FD459C84BB02),
|
||||
helpstring("MSVidWebDVDAdm Class")
|
||||
]
|
||||
coclass MSVidWebDVDAdm
|
||||
{
|
||||
[default] interface IMSVidWebDVDAdm;
|
||||
};
|
||||
|
||||
// rendererers
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(37B03543-A4C8-11d2-B634-00C04F79498E),
|
||||
helpstring("MS Video Control Video Renderer Class")
|
||||
]
|
||||
coclass MSVidVideoRenderer
|
||||
{
|
||||
[default] interface IMSVidVideoRenderer2;
|
||||
interface IMSVidVideoRenderer;
|
||||
[default, source] interface IMSVidVideoRendererEvent;
|
||||
//[default, source] interface IMSVidVideoRendererEvent2;
|
||||
interface IMSVidGraphSegment;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(37B03544-A4C8-11d2-B634-00C04F79498E),
|
||||
helpstring("MS Video Control Audio Renderer Class")
|
||||
]
|
||||
coclass MSVidAudioRenderer
|
||||
{
|
||||
[default] interface IMSVidAudioRenderer;
|
||||
[default, source] interface IMSVidAudioRendererEvent;
|
||||
interface IMSVidGraphSegment;
|
||||
};
|
||||
|
||||
// features
|
||||
|
||||
[
|
||||
uuid(334125C0-77E5-11d3-B653-00C04F79498E),
|
||||
helpstring("MS Video Control Standard Data Services for Broadcast IP through NDIS stack")
|
||||
]
|
||||
coclass MSVidDataServices
|
||||
{
|
||||
interface IMSVidDataServices;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(7F9CB14D-48E4-43b6-9346-1AEBC39C64D3),
|
||||
helpstring("MS Video Control Standard Closed Captioning")
|
||||
]
|
||||
coclass MSVidClosedCaptioning
|
||||
{
|
||||
interface IMSVidClosedCaptioning;
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
uuid(1600F001-6666-4f66-B1E2-BF3C9FBB9BA6),
|
||||
helpstring("MS Video Control TVE Feature Segment"),
|
||||
]
|
||||
coclass MSVidTVEGSeg
|
||||
{
|
||||
[default] interface IMSVidTVEGSeg;
|
||||
interface ITVEFeature; // 'active' service, outgoing events
|
||||
// interface IMSVidGraphSegment; // standard graph segment methods
|
||||
};
|
||||
|
||||
[
|
||||
uuid(1600F101-6666-4f66-B1E2-BF3C9FBB9BA6),
|
||||
helpstring("MS Video Control CA Feature Segment"),
|
||||
]
|
||||
coclass MSVidCAGSeg
|
||||
{
|
||||
[default] interface IMSVidCAGSeg;
|
||||
interface ICAManager; // aggregates with this..
|
||||
// interface IMSVidGraphSegment; // standard graph segment methods
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// control classes
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(B0EDF163-910A-11D2-B632-00C04F79498E),
|
||||
control,
|
||||
helpstring("MS Video Control Class")
|
||||
]
|
||||
coclass MSVidCtl
|
||||
{
|
||||
[default] interface IMSVidCtl;
|
||||
[default, source] dispinterface _IMSVidCtlEvents;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// device collections
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[
|
||||
uuid(C5702CCC-9B79-11d3-B654-00C04F79498E),
|
||||
helpstring("MS Video Control Input Device Collection Class")
|
||||
]
|
||||
coclass MSVidInputDevices
|
||||
{
|
||||
[default] interface IMSVidInputDevices;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(C5702CCD-9B79-11d3-B654-00C04F79498E),
|
||||
helpstring("MS Video Control Output Device Collection Class")
|
||||
]
|
||||
coclass MSVidOutputDevices
|
||||
{
|
||||
[default] interface IMSVidOutputDevices;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(C5702CCE-9B79-11d3-B654-00C04F79498E),
|
||||
helpstring("MS Video Control Video Renderer Device Collection Class")
|
||||
]
|
||||
coclass MSVidVideoRendererDevices
|
||||
{
|
||||
[default] interface IMSVidVideoRendererDevices;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(C5702CCF-9B79-11d3-B654-00C04F79498E),
|
||||
helpstring("MS Video Control Audio Renderer Device Collection Class")
|
||||
]
|
||||
coclass MSVidAudioRendererDevices
|
||||
{
|
||||
[default] interface IMSVidAudioRendererDevices;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(C5702CD0-9B79-11d3-B654-00C04F79498E),
|
||||
helpstring("MS Video Control Feature Collection Class")
|
||||
]
|
||||
coclass MSVidFeatures
|
||||
{
|
||||
[default] interface IMSVidFeatures;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// composites
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[
|
||||
uuid(2764BCE5-CC39-11D2-B639-00C04F79498E),
|
||||
helpstring("MS Video Control Generic Composition Class")
|
||||
]
|
||||
coclass MSVidGenericComposite
|
||||
{
|
||||
interface IMSVidCompositionSegment;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(E18AF75A-08AF-11d3-B64A-00C04F79498E),
|
||||
helpstring("MS Video Control Custom Composition for Analog Capture to Overlay Mixer")
|
||||
]
|
||||
coclass MSVidAnalogCaptureToOverlayMixer
|
||||
{
|
||||
interface IMSVidCompositionSegment;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(C5702CD6-9B79-11d3-B654-00C04F79498E),
|
||||
helpstring("MS Video Control Custom Composition for Analog Capture to Data Services")
|
||||
]
|
||||
coclass MSVidAnalogCaptureToDataServices
|
||||
{
|
||||
interface IMSVidCompositionSegment;
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
uuid(267db0b3-55e3-4902-949b-df8f5cec0191),
|
||||
helpstring("MS Video Control Custom Composition for WebDVD to Overlay Mixer")
|
||||
]
|
||||
coclass MSVidWebDVDToVideoRenderer
|
||||
{
|
||||
interface IMSVidCompositionSegment;
|
||||
};
|
||||
|
||||
[
|
||||
uuid(6AD28EE1-5002-4e71-AAF7-BD077907B1A4),
|
||||
helpstring("MS Video Control Custom Composition for Mpeg2 Decoder to Closed Captioning")
|
||||
]
|
||||
coclass MSVidMPEG2DecoderToClosedCaptioning
|
||||
{
|
||||
interface IMSVidCompositionSegment;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// Miscellaneous
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[
|
||||
uuid(11973C25-3529-40e4-9AB1-DDC164CBEF49),
|
||||
helpstring("MS Video Control Rendering Behavior Factory")
|
||||
]
|
||||
coclass MSVidRenderFactory
|
||||
{
|
||||
interface IElementBehaviorFactory;
|
||||
};
|
||||
// Events
|
||||
[
|
||||
uuid(577FAA18-4518-445E-8F70-1473F8CF4BA4),
|
||||
helpstring("MSEventBinder Class")
|
||||
]
|
||||
coclass MSEventBinder
|
||||
{
|
||||
[default] interface IMSEventBinder;
|
||||
};
|
||||
|
||||
// vidrect class
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE),
|
||||
helpstring("Automation compliant scalable rectangle Class")
|
||||
]
|
||||
coclass MSVidRect
|
||||
{
|
||||
[default] interface IMSVidRect;
|
||||
};
|
||||
|
||||
// NOTE: there is no object factory for the following classes.
|
||||
// the implementation for the underlying code is a c++ abstract base class.
|
||||
// this coclass is only provided here to force vb to expose the base interface
|
||||
// to enable polymorphic access to derived objects
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(6E40476F-9C49-4c3e-8BB9-8587958EFF74),
|
||||
helpstring("dummy class to expose base interface to VB")
|
||||
]
|
||||
coclass MSVidDevice
|
||||
{
|
||||
[default] interface IMSVidDevice;
|
||||
};
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(AC1972F2-138A-4ca3-90DA-AE51112EDA28),
|
||||
helpstring("dummy class to expose base interface to VB")
|
||||
]
|
||||
coclass MSVidInputDevice
|
||||
{
|
||||
[default] interface IMSVidInputDevice;
|
||||
};
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(95F4820B-BB3A-4e2d-BC64-5B817BC2C30E),
|
||||
helpstring("dummy class to expose base interface to VB")
|
||||
]
|
||||
coclass MSVidVideoInputDevice
|
||||
{
|
||||
[default] interface IMSVidVideoInputDevice;
|
||||
};
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(1990D634-1A5E-4071-A34A-53AAFFCE9F36),
|
||||
helpstring("dummy class to expose base interface to VB")
|
||||
]
|
||||
coclass MSVidVideoPlaybackDevice
|
||||
{
|
||||
[default] interface IMSVidPlayback;
|
||||
};
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(7748530B-C08A-47ea-B24C-BE8695FF405F),
|
||||
helpstring("dummy class to expose base interface to VB")
|
||||
]
|
||||
coclass MSVidFeature
|
||||
{
|
||||
[default] interface IMSVidFeature;
|
||||
};
|
||||
[
|
||||
hidden, restricted,
|
||||
uuid(87EB890D-03AD-4e9d-9866-376E5EC572ED),
|
||||
helpstring("dummy class to expose base interface to VB")
|
||||
]
|
||||
coclass MSVidOutput
|
||||
{
|
||||
[default] interface IMSVidOutputDevice;
|
||||
};
|
||||
|
||||
|
||||
#endif //TUNING_MODEL_ONLY
|
||||
|
||||
};
|
||||
|
||||
// end of file msvidctl.idl
|
1220
extern/include/DShowIDL/Segment.idl
vendored
172
extern/include/DShowIDL/Videoacc.idl
vendored
@ -1,172 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: VideoAcc.idl
|
||||
//
|
||||
// Desc: An interface exposed by the overlay mixer to help decode samples
|
||||
// using hardware video acceleration.
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
|
||||
cpp_quote("//")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the motncomp.idl file build. The actual definitions are contained in ddraw.h and amva.h")
|
||||
cpp_quote("//")
|
||||
cpp_quote("#if 0")
|
||||
|
||||
typedef void* LPVOID;
|
||||
typedef void* LPGUID;
|
||||
typedef void* LPDIRECTDRAWSURFACE;
|
||||
typedef void* LPDDPIXELFORMAT;
|
||||
typedef void* LPAMVAInternalMemInfo;
|
||||
typedef void AMVAUncompDataInfo;
|
||||
typedef void* LPAMVACompBufferInfo;
|
||||
typedef void AMVABUFFERINFO;
|
||||
typedef void AMVAEndFrameInfo;
|
||||
typedef void* LPAMVAUncompBufferInfo;
|
||||
typedef void AMVABeginFrameInfo;
|
||||
typedef IUnknown* IMediaSample;
|
||||
|
||||
cpp_quote("#endif")
|
||||
cpp_quote("#include <ddraw.h>")
|
||||
cpp_quote("#include <amva.h>")
|
||||
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(256A6A21-FBAD-11d1-82BF-00A0C9696C8F),
|
||||
helpstring("IAMVideoAcceleratorNotify Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
// IAMVideoAcceleratorNotify
|
||||
interface IAMVideoAcceleratorNotify : IUnknown
|
||||
{
|
||||
// get information necessary to allocate uncompressed data buffers
|
||||
// which is not part of the mediatype format (like how many buffers to allocate etc)
|
||||
HRESULT GetUncompSurfacesInfo([in] const GUID *pGuid, [in] [out] LPAMVAUncompBufferInfo pUncompBufferInfo);
|
||||
|
||||
// set information regarding allocated uncompressed data buffers
|
||||
HRESULT SetUncompSurfacesInfo([in] DWORD dwActualUncompSurfacesAllocated);
|
||||
|
||||
// get information necessary to create video accelerator object. It is the caller's responsibility
|
||||
// to call CoTaskMemFree() on *ppMiscData
|
||||
HRESULT GetCreateVideoAcceleratorData([in] const GUID *pGuid, [out] LPDWORD pdwSizeMiscData, [out] LPVOID *ppMiscData);
|
||||
};
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(256A6A22-FBAD-11d1-82BF-00A0C9696C8F),
|
||||
helpstring("IAMVideoAccelerator Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
// IAMVideoAccelerator
|
||||
interface IAMVideoAccelerator : IUnknown
|
||||
{
|
||||
// pdwNumGuidsSupported is an IN OUT paramter
|
||||
// pGuidsSupported is an IN OUT paramter
|
||||
// if pGuidsSupported is NULL, pdwNumGuidsSupported should return back with the
|
||||
// number of uncompressed pixel formats supported
|
||||
// Otherwise pGuidsSupported is an array of *pdwNumGuidsSupported structures
|
||||
HRESULT GetVideoAcceleratorGUIDs([in] [out] LPDWORD pdwNumGuidsSupported, [in] [out] LPGUID pGuidsSupported);
|
||||
|
||||
// pGuid is an IN parameter
|
||||
// pdwNumFormatsSupported is an IN OUT paramter
|
||||
// pFormatsSupported is an IN OUT paramter (caller should make sure to set the size of EACH struct)
|
||||
// if pFormatsSupported is NULL, pdwNumFormatsSupported should return back with
|
||||
// the number of uncompressed pixel formats supported
|
||||
// Otherwise pFormatsSupported is an array of *pdwNumFormatsSupported structures
|
||||
HRESULT GetUncompFormatsSupported( [in] const GUID *pGuid, [in] [out] LPDWORD pdwNumFormatsSupported,
|
||||
[in] [out] LPDDPIXELFORMAT pFormatsSupported);
|
||||
|
||||
// pGuid is an IN parameter
|
||||
// pamvaUncompDataInfo is an IN parameter
|
||||
// pamvaInternalMemInfo is an IN OUT parameter (caller should make sure to set the size of struct)
|
||||
// currently only gets info about how much scratch memory will the hal allocate for its private use
|
||||
HRESULT GetInternalMemInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo,
|
||||
[in] [out] LPAMVAInternalMemInfo pamvaInternalMemInfo);
|
||||
|
||||
// pGuid is an IN parameter
|
||||
// pamvaUncompDataInfo is an IN parameter
|
||||
// pdwNumTypesCompBuffers is an IN OUT paramter
|
||||
// pamvaCompBufferInfo is an IN OUT paramter (caller should make sure to set the size of EACH struct)
|
||||
// if pamvaCompBufferInfo is NULL, pdwNumTypesCompBuffers should return back with the number of types of
|
||||
// compressed buffers
|
||||
// Otherwise pamvaCompBufferInfo is an array of *pdwNumTypesCompBuffers structures
|
||||
HRESULT GetCompBufferInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo,
|
||||
[in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo);
|
||||
|
||||
|
||||
// pdwNumTypesCompBuffers is an IN OUT paramter
|
||||
// pamvaCompBufferInfo is an IN OUT paramter (caller should make sure to set the size of EACH struct)
|
||||
// if pamvaCompBufferInfo is NULL, pdwNumTypesCompBuffers should return back with the number of types of
|
||||
// compressed buffers
|
||||
// Otherwise pamvaCompBufferInfo is an array of *pdwNumTypesCompBuffers structures
|
||||
// only valid to call this after the pins are connected
|
||||
HRESULT GetInternalCompBufferInfo([in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo);
|
||||
|
||||
// begin a frame, the pMiscData is passed directly to the hal
|
||||
// only valid to call this after the pins are connected
|
||||
// Tells the ovmixer which frame is the destination
|
||||
// frame. Use indices (valid vales are [0 .. pdwNumSurfacesAllocated-1]) to specify frames
|
||||
HRESULT BeginFrame([in] const AMVABeginFrameInfo *amvaBeginFrameInfo);
|
||||
|
||||
// end a frame, the pMiscData is passed directly to the hal
|
||||
// only valid to call this after the pins are connected
|
||||
HRESULT EndFrame([in] const AMVAEndFrameInfo *pEndFrameInfo);
|
||||
|
||||
// lock and obtain access to a single buffer
|
||||
// only valid to call this after the pins are connected
|
||||
// Buffers are identified by type and index within that type
|
||||
// Specifiying read-only will allow access to busy reference
|
||||
// frames
|
||||
// Output (uncompressed) frames use a type index of 0xFFFFFFFF
|
||||
HRESULT GetBuffer(
|
||||
[in] DWORD dwTypeIndex,
|
||||
[in] DWORD dwBufferIndex,
|
||||
[in] BOOL bReadOnly,
|
||||
[out] LPVOID *ppBuffer,
|
||||
[out] LONG *lpStride);
|
||||
|
||||
// unlock a single buffer
|
||||
// Buffers are identified by type and index within that type
|
||||
// only valid to call this after the pins are connected
|
||||
HRESULT ReleaseBuffer([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex);
|
||||
|
||||
// Perform a decompression operation
|
||||
// Private data can be passed to and from a driver
|
||||
// identifiers for the corresponding members of pamvaMacroBlockInfo
|
||||
// pamvaMacroBlockInfo is an IN parameter which is array (of length dwNumBlocks) of structures
|
||||
// only valid to call this after the pins are connected
|
||||
HRESULT Execute(
|
||||
[in] DWORD dwFunction,
|
||||
[in] LPVOID lpPrivateInputData,
|
||||
[in] DWORD cbPrivateInputData,
|
||||
[in] LPVOID lpPrivateOutputDat,
|
||||
[in] DWORD cbPrivateOutputData,
|
||||
[in] DWORD dwNumBuffers,
|
||||
[in] const AMVABUFFERINFO *pamvaBufferInfo);
|
||||
|
||||
// query the decode status of a particular decompression operation
|
||||
// dwTypeIndex and dwBufferIndex define the buffer whose status is
|
||||
// being queried
|
||||
HRESULT QueryRenderStatus([in] DWORD dwTypeIndex,
|
||||
[in] DWORD dwBufferIndex,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
// display a frame. The mediasample contains the timestamps etc for the frame to be displayed
|
||||
// this call is a non-blocking call
|
||||
// only valid to call this after the pins are connected
|
||||
HRESULT DisplayFrame([in] DWORD dwFlipToIndex, [in] IMediaSample *pMediaSample);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
875
extern/include/DShowIDL/Vmrender.idl
vendored
@ -1,875 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: Vmrender.idl
|
||||
//
|
||||
// Desc: Public Interfaces for the Video Mixing Renderer DShow filter
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
cpp_quote("#if 0")
|
||||
// This is a temporary workaround to persuade MIDL to allow
|
||||
// forward declarations
|
||||
typedef DWORD* LPDIRECTDRAW7;
|
||||
typedef DWORD* LPDIRECTDRAWSURFACE7;
|
||||
typedef DWORD* LPDDPIXELFORMAT;
|
||||
typedef DWORD* LPBITMAPINFOHEADER;
|
||||
typedef struct {DWORD dw1; DWORD dw2;} DDCOLORKEY;
|
||||
typedef DDCOLORKEY* LPDDCOLORKEY;
|
||||
|
||||
cpp_quote ("#endif")
|
||||
cpp_quote("#include <ddraw.h>")
|
||||
|
||||
|
||||
// public interfaces supported by the VMR
|
||||
interface IVMRSurface;
|
||||
|
||||
interface IVMRSurfaceAllocator;
|
||||
interface IVMRSurfaceAllocatorNotify;
|
||||
interface IVMRImagePresenter;
|
||||
interface IVMRImagePresenterConfig;
|
||||
|
||||
interface IVMRWindowlessControl;
|
||||
interface IVMRMixerControl;
|
||||
interface IVMRMixerBitmap;
|
||||
interface IVMRFilterConfig;
|
||||
interface IVMRMonitorConfig;
|
||||
|
||||
interface IVMRImageCompositor;
|
||||
|
||||
interface IVMRVideoStreamControl;
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Allocator Presenter interfaces
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRImagePresenter
|
||||
//
|
||||
//=====================================================================
|
||||
typedef enum {
|
||||
VMRSample_SyncPoint = 0x00000001,
|
||||
VMRSample_Preroll = 0x00000002,
|
||||
VMRSample_Discontinuity = 0x00000004,
|
||||
VMRSample_TimeValid = 0x00000008,
|
||||
} VMRPresentationFlags;
|
||||
|
||||
|
||||
typedef struct tagVMRPRESENTATIONINFO {
|
||||
DWORD dwFlags;
|
||||
LPDIRECTDRAWSURFACE7 lpSurf;
|
||||
REFERENCE_TIME rtStart;
|
||||
REFERENCE_TIME rtEnd;
|
||||
SIZE szAspectRatio;
|
||||
RECT rcSrc;
|
||||
RECT rcDst;
|
||||
DWORD dwTypeSpecificFlags;
|
||||
DWORD dwInterlaceFlags;
|
||||
} VMRPRESENTATIONINFO;
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(CE704FE7-E71E-41fb-BAA2-C4403E1182F5),
|
||||
helpstring("IVMRImagePresenter Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRImagePresenter : IUnknown
|
||||
{
|
||||
HRESULT StartPresenting(
|
||||
[in] DWORD_PTR dwUserID
|
||||
);
|
||||
|
||||
HRESULT StopPresenting(
|
||||
[in] DWORD_PTR dwUserID
|
||||
);
|
||||
|
||||
|
||||
HRESULT PresentImage(
|
||||
[in] DWORD_PTR dwUserID,
|
||||
[in] VMRPRESENTATIONINFO* lpPresInfo
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRSurfaceAllocator
|
||||
//
|
||||
//=====================================================================
|
||||
|
||||
typedef enum {
|
||||
AMAP_PIXELFORMAT_VALID = 0x01,
|
||||
AMAP_3D_TARGET = 0x02,
|
||||
AMAP_ALLOW_SYSMEM = 0x04,
|
||||
AMAP_FORCE_SYSMEM = 0x08,
|
||||
AMAP_DIRECTED_FLIP = 0x10,
|
||||
AMAP_DXVA_TARGET = 0x20
|
||||
} VMRSurfaceAllocationFlags;
|
||||
|
||||
typedef struct tagVMRALLOCATIONINFO {
|
||||
DWORD dwFlags;
|
||||
LPBITMAPINFOHEADER lpHdr;
|
||||
LPDDPIXELFORMAT lpPixFmt;
|
||||
SIZE szAspectRatio;
|
||||
DWORD dwMinBuffers;
|
||||
DWORD dwMaxBuffers;
|
||||
DWORD dwInterlaceFlags;
|
||||
SIZE szNativeSize;
|
||||
} VMRALLOCATIONINFO;
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(31ce832e-4484-458b-8cca-f4d7e3db0b52),
|
||||
helpstring("IVMRSurfaceAllocator Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRSurfaceAllocator : IUnknown
|
||||
{
|
||||
HRESULT AllocateSurface(
|
||||
[in] DWORD_PTR dwUserID,
|
||||
[in] VMRALLOCATIONINFO* lpAllocInfo,
|
||||
[in] [out] DWORD* lpdwActualBuffers,
|
||||
[out] LPDIRECTDRAWSURFACE7 *lplpSurface
|
||||
);
|
||||
|
||||
HRESULT FreeSurface(
|
||||
[in] DWORD_PTR dwID
|
||||
);
|
||||
|
||||
HRESULT PrepareSurface(
|
||||
[in] DWORD_PTR dwUserID,
|
||||
[in] LPDIRECTDRAWSURFACE7 lpSurface,
|
||||
[in] DWORD dwSurfaceFlags
|
||||
);
|
||||
|
||||
HRESULT AdviseNotify(
|
||||
[in] IVMRSurfaceAllocatorNotify* lpIVMRSurfAllocNotify
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRSurfaceAllocatorNotify
|
||||
//
|
||||
//=====================================================================
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(aada05a8-5a4e-4729-af0b-cea27aed51e2),
|
||||
helpstring("IVMRSurfaceAllocatorNotify Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRSurfaceAllocatorNotify : IUnknown
|
||||
{
|
||||
HRESULT AdviseSurfaceAllocator(
|
||||
[in] DWORD_PTR dwUserID,
|
||||
[in] IVMRSurfaceAllocator* lpIVRMSurfaceAllocator
|
||||
);
|
||||
|
||||
HRESULT SetDDrawDevice(
|
||||
[in] LPDIRECTDRAW7 lpDDrawDevice,
|
||||
[in] HMONITOR hMonitor
|
||||
);
|
||||
|
||||
HRESULT ChangeDDrawDevice(
|
||||
[in] LPDIRECTDRAW7 lpDDrawDevice,
|
||||
[in] HMONITOR hMonitor
|
||||
);
|
||||
|
||||
HRESULT RestoreDDrawSurfaces();
|
||||
|
||||
HRESULT NotifyEvent(
|
||||
[in] LONG EventCode,
|
||||
[in] LONG_PTR Param1,
|
||||
[in] LONG_PTR Param2
|
||||
);
|
||||
|
||||
HRESULT SetBorderColor(
|
||||
[in] COLORREF clrBorder
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Application control and configuration interfaces
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRWindowlessControl
|
||||
//
|
||||
//=====================================================================
|
||||
typedef enum {
|
||||
VMR_ARMODE_NONE,
|
||||
VMR_ARMODE_LETTER_BOX
|
||||
} VMR_ASPECT_RATIO_MODE;
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(0eb1088c-4dcd-46f0-878f-39dae86a51b7),
|
||||
helpstring("IVMRWindowlessControl Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRWindowlessControl : IUnknown
|
||||
{
|
||||
//
|
||||
//////////////////////////////////////////////////////////
|
||||
// Video size and position information
|
||||
//////////////////////////////////////////////////////////
|
||||
//
|
||||
HRESULT GetNativeVideoSize(
|
||||
[out] LONG* lpWidth,
|
||||
[out] LONG* lpHeight,
|
||||
[out] LONG* lpARWidth,
|
||||
[out] LONG* lpARHeight
|
||||
);
|
||||
|
||||
HRESULT GetMinIdealVideoSize(
|
||||
[out] LONG* lpWidth,
|
||||
[out] LONG* lpHeight
|
||||
);
|
||||
|
||||
HRESULT GetMaxIdealVideoSize(
|
||||
[out] LONG* lpWidth,
|
||||
[out] LONG* lpHeight
|
||||
);
|
||||
|
||||
HRESULT SetVideoPosition(
|
||||
[in] const LPRECT lpSRCRect,
|
||||
[in] const LPRECT lpDSTRect
|
||||
);
|
||||
|
||||
HRESULT GetVideoPosition(
|
||||
[out] LPRECT lpSRCRect,
|
||||
[out] LPRECT lpDSTRect
|
||||
);
|
||||
|
||||
HRESULT GetAspectRatioMode(
|
||||
[out] DWORD* lpAspectRatioMode
|
||||
);
|
||||
|
||||
HRESULT SetAspectRatioMode(
|
||||
[in] DWORD AspectRatioMode
|
||||
);
|
||||
|
||||
//
|
||||
//////////////////////////////////////////////////////////
|
||||
// Display and clipping management
|
||||
//////////////////////////////////////////////////////////
|
||||
//
|
||||
HRESULT SetVideoClippingWindow(
|
||||
[in] HWND hwnd
|
||||
);
|
||||
|
||||
HRESULT RepaintVideo(
|
||||
[in] HWND hwnd,
|
||||
[in] HDC hdc
|
||||
);
|
||||
|
||||
HRESULT DisplayModeChanged();
|
||||
|
||||
|
||||
//
|
||||
//////////////////////////////////////////////////////////
|
||||
// GetCurrentImage
|
||||
//
|
||||
// Returns the current image being displayed. This images
|
||||
// is returned in the form of packed Windows DIB.
|
||||
//
|
||||
// GetCurrentImage can be called at any time, also
|
||||
// the caller is responsible for free the returned memory
|
||||
// by calling CoTaskMemFree.
|
||||
//
|
||||
// Excessive use of this function will degrade video
|
||||
// playback performed.
|
||||
//////////////////////////////////////////////////////////
|
||||
//
|
||||
HRESULT GetCurrentImage(
|
||||
[out] BYTE** lpDib
|
||||
);
|
||||
|
||||
//
|
||||
//////////////////////////////////////////////////////////
|
||||
// Border Color control
|
||||
//
|
||||
// The border color is color used to fill any area of the
|
||||
// the destination rectangle that does not contain video.
|
||||
// It is typically used in two instances. When the video
|
||||
// straddles two monitors and when the VMR is trying
|
||||
// to maintain the aspect ratio of the movies by letter
|
||||
// boxing the video to fit within the specified destination
|
||||
// rectangle. See SetAspectRatioMode above.
|
||||
//////////////////////////////////////////////////////////
|
||||
//
|
||||
HRESULT SetBorderColor(
|
||||
[in] COLORREF Clr
|
||||
);
|
||||
|
||||
HRESULT GetBorderColor(
|
||||
[out] COLORREF* lpClr
|
||||
);
|
||||
|
||||
//
|
||||
//////////////////////////////////////////////////////////
|
||||
// Color key control only meaningful when the VMR is using
|
||||
// and overlay
|
||||
//////////////////////////////////////////////////////////
|
||||
//
|
||||
HRESULT SetColorKey(
|
||||
[in] COLORREF Clr
|
||||
);
|
||||
|
||||
HRESULT GetColorKey(
|
||||
[out] COLORREF* lpClr
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRMixerControl
|
||||
//
|
||||
//=====================================================================
|
||||
|
||||
typedef enum {
|
||||
MixerPref_NoDecimation = 0x00000001, // No decimation - full size
|
||||
MixerPref_DecimateOutput = 0x00000002, // decimate output by 2 in x & y
|
||||
MixerPref_DecimateMask = 0x0000000F,
|
||||
|
||||
MixerPref_BiLinearFiltering = 0x00000010, // use bi-linear filtering
|
||||
MixerPref_PointFiltering = 0x00000020, // use point filtering
|
||||
MixerPref_FilteringMask = 0x000000F0, // OR of all above flags
|
||||
|
||||
MixerPref_RenderTargetRGB = 0x00000100,
|
||||
MixerPref_RenderTargetYUV420 = 0x00000200,
|
||||
MixerPref_RenderTargetYUV422 = 0x00000400,
|
||||
MixerPref_RenderTargetYUV444 = 0x00000800, // AYUV render target.
|
||||
MixerPref_RenderTargetReserved = 0x0000F000, // 4 bits reserved for future use.
|
||||
MixerPref_RenderTargetMask = 0x0000FF00, // OR of all above flags
|
||||
} VMRMixerPrefs;
|
||||
|
||||
//
|
||||
// Normalized relative rectangle
|
||||
// Coordinate ranges: x=[0...1) y=[0...1)
|
||||
// Where the output window goes from 0,0 (closed inclusive lower bound)
|
||||
// to 1,1 (open exclusive upper bound)
|
||||
//
|
||||
typedef struct _NORMALIZEDRECT
|
||||
{
|
||||
float left;
|
||||
float top;
|
||||
float right;
|
||||
float bottom;
|
||||
} NORMALIZEDRECT, *PNORMALIZEDRECT;
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(1c1a17b0-bed0-415d-974b-dc6696131599),
|
||||
helpstring("IVMRMixerControl Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRMixerControl : IUnknown
|
||||
{
|
||||
HRESULT SetAlpha(
|
||||
[in] DWORD dwStreamID,
|
||||
[in] float Alpha // Source alpha premultication factor (global alpha for source)
|
||||
);
|
||||
|
||||
HRESULT GetAlpha(
|
||||
[in] DWORD dwStreamID,
|
||||
[out] float* pAlpha
|
||||
);
|
||||
|
||||
HRESULT SetZOrder(
|
||||
[in] DWORD dwStreamID,
|
||||
[in] DWORD dwZ
|
||||
);
|
||||
|
||||
HRESULT GetZOrder(
|
||||
[in] DWORD dwStreamID,
|
||||
[out] DWORD* pZ
|
||||
);
|
||||
|
||||
HRESULT SetOutputRect(
|
||||
[in] DWORD dwStreamID,
|
||||
[in] const NORMALIZEDRECT *pRect
|
||||
);
|
||||
|
||||
HRESULT GetOutputRect(
|
||||
[in] DWORD dwStreamID,
|
||||
[out] NORMALIZEDRECT *pRect
|
||||
);
|
||||
|
||||
HRESULT SetBackgroundClr(
|
||||
[in] COLORREF ClrBkg
|
||||
);
|
||||
|
||||
HRESULT GetBackgroundClr(
|
||||
[in] COLORREF* lpClrBkg
|
||||
);
|
||||
|
||||
HRESULT SetMixingPrefs(
|
||||
[in] DWORD dwMixerPrefs // a combination of VMRMixingPrefFlags
|
||||
);
|
||||
|
||||
HRESULT GetMixingPrefs(
|
||||
[out] DWORD* pdwMixerPrefs
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// VMR Multimon configuration interface
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct tagVMRGUID {
|
||||
GUID* pGUID; // is NULL if the default DDraw device
|
||||
GUID GUID; // otherwise points to this GUID
|
||||
} VMRGUID;
|
||||
|
||||
#define VMRDEVICENAMELEN 32
|
||||
#define VMRDEVICEDESCRIPTIONLEN 256
|
||||
|
||||
typedef struct tagVMRMONITORINFO {
|
||||
VMRGUID guid;
|
||||
RECT rcMonitor;
|
||||
HMONITOR hMon;
|
||||
DWORD dwFlags; // described in MONITORINFOEX, currently only MONITORINFOF_PRIMARY
|
||||
wchar_t szDevice[VMRDEVICENAMELEN];
|
||||
wchar_t szDescription[VMRDEVICEDESCRIPTIONLEN];
|
||||
LARGE_INTEGER liDriverVersion;
|
||||
DWORD dwVendorId;
|
||||
DWORD dwDeviceId;
|
||||
DWORD dwSubSysId;
|
||||
DWORD dwRevision;
|
||||
// find out the DDCAPS using DDrawCreate on the monitor GUID
|
||||
} VMRMONITORINFO;
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce),
|
||||
helpstring("IVMRMonitorConfig Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRMonitorConfig : IUnknown
|
||||
{
|
||||
// Use this method on a Multi-Monitor system to specify to the
|
||||
// mixer filter which Direct Draw driver should be used when connecting
|
||||
// to an upstream decoder filter.
|
||||
//
|
||||
HRESULT SetMonitor(
|
||||
[in] const VMRGUID *pGUID
|
||||
);
|
||||
|
||||
// Use this method to determine the direct draw object that will be used when
|
||||
// connecting the mixer filter to an upstream decoder filter.
|
||||
//
|
||||
HRESULT GetMonitor(
|
||||
[out] VMRGUID *pGUID
|
||||
);
|
||||
|
||||
// Use this method on a multi-monitor system to specify to the
|
||||
// mixer filter the default Direct Draw device to use when
|
||||
// connecting to an upstream filter. The default direct draw device
|
||||
// can be overriden for a particular connection by SetMonitor method
|
||||
// described above.
|
||||
//
|
||||
HRESULT SetDefaultMonitor(
|
||||
[in] const VMRGUID *pGUID
|
||||
);
|
||||
|
||||
// Use this method on a multi-monitor system to determine which
|
||||
// is the default direct draw device the overlay mixer filter
|
||||
// will use when connecting to an upstream filter.
|
||||
//
|
||||
HRESULT GetDefaultMonitor(
|
||||
[out] VMRGUID *pGUID
|
||||
);
|
||||
|
||||
// Use this method to get a list of Direct Draw device GUIDs and thier
|
||||
// associated monitor information that the mixer can use when
|
||||
// connecting to an upstream decoder filter. Passing down a NULL pInfo
|
||||
// parameter allows the app to determine the required array size (returned
|
||||
// in pdwNumDevices). Otherwise, dwNumDevices returns the actual
|
||||
// number of devices retrieved.
|
||||
//
|
||||
HRESULT GetAvailableMonitors(
|
||||
[out, size_is(dwMaxInfoArraySize)] VMRMONITORINFO* pInfo,
|
||||
[in] DWORD dwMaxInfoArraySize, // in array members
|
||||
[out] DWORD* pdwNumDevices // actual number of devices retrieved
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// VMR Filter configuration interfaces
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
typedef enum {
|
||||
RenderPrefs_ForceOffscreen = 0x00000001,
|
||||
RenderPrefs_ForceOverlays = 0x00000002, // fail if no overlays
|
||||
RenderPrefs_AllowOverlays = 0x00000000, // overlay used by default
|
||||
RenderPrefs_AllowOffscreen = 0x00000000, // offscreen used if no overlay
|
||||
RenderPrefs_DoNotRenderColorKeyAndBorder = 0x00000008, // app paints color keys
|
||||
RenderPrefs_RestrictToInitialMonitor = 0x00000010, // output only to initial monitor
|
||||
RenderPrefs_PreferAGPMemWhenMixing = 0x00000020, // try agp mem when allocating textures
|
||||
|
||||
RenderPrefs_Mask = 0x0000003f, // OR of all above flags
|
||||
} VMRRenderPrefs;
|
||||
|
||||
typedef enum {
|
||||
VMRMode_Windowed = 0x00000001,
|
||||
VMRMode_Windowless = 0x00000002,
|
||||
VMRMode_Renderless = 0x00000004,
|
||||
|
||||
// not a valid value to pass to SetRenderMode
|
||||
VMRMode_Mask = 0x00000007, // OR of all above flags
|
||||
} VMRMode;
|
||||
|
||||
enum {
|
||||
MAX_NUMBER_OF_STREAMS = 16
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(9e5530c5-7034-48b4-bb46-0b8a6efc8e36),
|
||||
helpstring("IVMRFilterConfig Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRFilterConfig : IUnknown
|
||||
{
|
||||
HRESULT SetImageCompositor(
|
||||
[in] IVMRImageCompositor* lpVMRImgCompositor
|
||||
);
|
||||
|
||||
HRESULT SetNumberOfStreams(
|
||||
[in] DWORD dwMaxStreams
|
||||
);
|
||||
|
||||
HRESULT GetNumberOfStreams(
|
||||
[out] DWORD* pdwMaxStreams
|
||||
);
|
||||
|
||||
HRESULT SetRenderingPrefs(
|
||||
[in] DWORD dwRenderFlags // a combination of VMRRenderingPrefFlags
|
||||
);
|
||||
|
||||
HRESULT GetRenderingPrefs(
|
||||
[out] DWORD* pdwRenderFlags
|
||||
);
|
||||
|
||||
HRESULT SetRenderingMode(
|
||||
[in] DWORD Mode // a combination of VMRMode
|
||||
);
|
||||
|
||||
HRESULT GetRenderingMode(
|
||||
[out] DWORD* pMode
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRMixerBitmap
|
||||
//
|
||||
//=====================================================================
|
||||
typedef struct _VMRALPHABITMAP
|
||||
{
|
||||
DWORD dwFlags; // flags word
|
||||
HDC hdc; // DC for the bitmap to copy
|
||||
LPDIRECTDRAWSURFACE7 pDDS; // DirectDraw surface to copy
|
||||
RECT rSrc; // rectangle to copy from the DC/DDS
|
||||
NORMALIZEDRECT rDest; // output rectangle in composition space
|
||||
FLOAT fAlpha; // opacity of the bitmap
|
||||
COLORREF clrSrcKey; // src color key
|
||||
} VMRALPHABITMAP, *PVMRALPHABITMAP;
|
||||
|
||||
// Disable the alpha bitmap for now
|
||||
cpp_quote("#define VMRBITMAP_DISABLE 0x00000001")
|
||||
|
||||
// Take the bitmap from the HDC rather than the DirectDraw surface
|
||||
cpp_quote("#define VMRBITMAP_HDC 0x00000002")
|
||||
|
||||
// Take the entire DDraw surface - rSrc is ignored
|
||||
cpp_quote("#define VMRBITMAP_ENTIREDDS 0x00000004")
|
||||
|
||||
// Indicates that the clrTrans value is valid and should be
|
||||
// used when blending
|
||||
cpp_quote("#define VMRBITMAP_SRCCOLORKEY 0x00000008")
|
||||
|
||||
// Indicates that the rSrc rectangle is valid and specifies a
|
||||
// sub-rectangle of the of original app image to be blended.
|
||||
// Use of this parameter enables "Image Strips"
|
||||
cpp_quote("#define VMRBITMAP_SRCRECT 0x00000010")
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(1E673275-0257-40aa-AF20-7C608D4A0428),
|
||||
helpstring("IVMRMixerBitmap Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRMixerBitmap : IUnknown
|
||||
{
|
||||
// Set bitmap, location to blend it, and blending value
|
||||
HRESULT SetAlphaBitmap(
|
||||
[in] const VMRALPHABITMAP *pBmpParms
|
||||
);
|
||||
|
||||
// Change bitmap location, size and blending value,
|
||||
// graph must be running for change to take effect.
|
||||
HRESULT UpdateAlphaBitmapParameters(
|
||||
[in] PVMRALPHABITMAP pBmpParms
|
||||
);
|
||||
|
||||
// Get bitmap, location to blend it, and blending value
|
||||
HRESULT GetAlphaBitmapParameters(
|
||||
[out] PVMRALPHABITMAP pBmpParms
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRImageCompositor
|
||||
//
|
||||
//=====================================================================
|
||||
|
||||
typedef struct _VMRVIDEOSTREAMINFO {
|
||||
LPDIRECTDRAWSURFACE7 pddsVideoSurface;
|
||||
DWORD dwWidth, dwHeight;
|
||||
DWORD dwStrmID;
|
||||
FLOAT fAlpha;
|
||||
DDCOLORKEY ddClrKey;
|
||||
NORMALIZEDRECT rNormal;
|
||||
} VMRVIDEOSTREAMINFO;
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(7a4fb5af-479f-4074-bb40-ce6722e43c82),
|
||||
helpstring("IVMRImageCompositor Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRImageCompositor : IUnknown
|
||||
{
|
||||
HRESULT InitCompositionTarget(
|
||||
[in] IUnknown* pD3DDevice,
|
||||
[in] LPDIRECTDRAWSURFACE7 pddsRenderTarget
|
||||
);
|
||||
|
||||
HRESULT TermCompositionTarget(
|
||||
[in] IUnknown* pD3DDevice,
|
||||
[in] LPDIRECTDRAWSURFACE7 pddsRenderTarget
|
||||
);
|
||||
|
||||
HRESULT SetStreamMediaType(
|
||||
[in] DWORD dwStrmID,
|
||||
[in] AM_MEDIA_TYPE* pmt,
|
||||
[in] BOOL fTexture
|
||||
);
|
||||
|
||||
HRESULT CompositeImage(
|
||||
[in] IUnknown* pD3DDevice,
|
||||
[in] LPDIRECTDRAWSURFACE7 pddsRenderTarget,
|
||||
[in] AM_MEDIA_TYPE* pmtRenderTarget,
|
||||
[in] REFERENCE_TIME rtStart,
|
||||
[in] REFERENCE_TIME rtEnd,
|
||||
[in] DWORD dwClrBkGnd,
|
||||
[in] VMRVIDEOSTREAMINFO* pVideoStreamInfo,
|
||||
[in] UINT cStreams
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRVideoStreamControl
|
||||
//
|
||||
//=====================================================================
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(058d1f11-2a54-4bef-bd54-df706626b727),
|
||||
helpstring("IVMRMixerStreamConfig Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRVideoStreamControl: IUnknown
|
||||
{
|
||||
HRESULT SetColorKey(
|
||||
[in] LPDDCOLORKEY lpClrKey // Source color key, set to 0xFFFFFFFF to disable
|
||||
);
|
||||
|
||||
HRESULT GetColorKey(
|
||||
[out] LPDDCOLORKEY lpClrKey
|
||||
);
|
||||
|
||||
|
||||
HRESULT SetStreamActiveState(
|
||||
[in] BOOL fActive
|
||||
);
|
||||
|
||||
HRESULT GetStreamActiveState(
|
||||
[out] BOOL* lpfActive
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVMRSurface
|
||||
//
|
||||
//=====================================================================
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(a9849bbe-9ec8-4263-b764-62730f0d15d0),
|
||||
helpstring("IVMRSurface Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVMRSurface : IUnknown
|
||||
{
|
||||
HRESULT IsSurfaceLocked();
|
||||
|
||||
HRESULT LockSurface(
|
||||
[out] BYTE** lpSurface
|
||||
);
|
||||
|
||||
HRESULT UnlockSurface();
|
||||
|
||||
HRESULT GetSurface(
|
||||
[out] LPDIRECTDRAWSURFACE7 *lplpSurface
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IID_IVMRImagePresenterConfig - this interface allows applications
|
||||
// to configure the default Microsoft provided allocator-presenter
|
||||
// inorder to simplify the implementation of their own
|
||||
// allocator-presenter plug-in.
|
||||
//
|
||||
//=====================================================================
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(9f3a1c85-8555-49ba-935f-be5b5b29d178),
|
||||
helpstring("IVMRImagePresenterConfig Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
interface IVMRImagePresenterConfig : IUnknown
|
||||
{
|
||||
|
||||
HRESULT SetRenderingPrefs(
|
||||
[in] DWORD dwRenderFlags // see VMRRenderPrefs for valid flags
|
||||
);
|
||||
|
||||
HRESULT GetRenderingPrefs(
|
||||
[out] DWORD* dwRenderFlags // see VMRRenderPrefs for valid flags
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IID_IVMRImagePresenterExclModeConfig - this interface allows applications
|
||||
// to configure the DDraw exclusive mode allocator-presenter. This
|
||||
// interface extends the IVMRImagePresenterConfig interface defined
|
||||
// above and is only implemented by the CLSID_AllocPresenterDDXclMode
|
||||
// allocator-presenter object.
|
||||
//
|
||||
//=====================================================================
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(e6f7ce40-4673-44f1-8f77-5499d68cb4ea),
|
||||
helpstring("IVMRImagePresenterExclModeConfig Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
interface IVMRImagePresenterExclModeConfig : IVMRImagePresenterConfig
|
||||
{
|
||||
HRESULT SetXlcModeDDObjAndPrimarySurface(
|
||||
[in] LPDIRECTDRAW7 lpDDObj,
|
||||
[in] LPDIRECTDRAWSURFACE7 lpPrimarySurf
|
||||
);
|
||||
|
||||
HRESULT GetXlcModeDDObjAndPrimarySurface(
|
||||
[out] LPDIRECTDRAW7* lpDDObj,
|
||||
[out] LPDIRECTDRAWSURFACE7* lpPrimarySurf
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================
|
||||
//
|
||||
// IVPManager
|
||||
//
|
||||
//=====================================================================
|
||||
[
|
||||
local,
|
||||
object,
|
||||
local,
|
||||
uuid(aac18c18-e186-46d2-825d-a1f8dc8e395a),
|
||||
helpstring("IVPManager Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IVPManager : IUnknown
|
||||
{
|
||||
// Use this method on a Multi-Monitor system to specify to the
|
||||
// video port manager filter which videoport index is used
|
||||
// to an upstream decoder filter.
|
||||
//
|
||||
HRESULT SetVideoPortIndex(
|
||||
[in] DWORD dwVideoPortIndex // the video port number that this is connected to
|
||||
);
|
||||
|
||||
// This method returns the current video port index being used by the VPM.
|
||||
//
|
||||
HRESULT GetVideoPortIndex(
|
||||
[out] DWORD* pdwVideoPortIndex // the video port number that this is connected to
|
||||
);
|
||||
};
|
||||
|
336
extern/include/DShowIDL/amstream.idl
vendored
@ -1,336 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: AMStream.idl
|
||||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "mmstream.idl";
|
||||
import "strmif.idl";
|
||||
|
||||
cpp_quote("#include <ddraw.h>")
|
||||
cpp_quote("#include <mmsystem.h>")
|
||||
cpp_quote("#include <mmstream.h>")
|
||||
cpp_quote("#include <ddstream.h>")
|
||||
cpp_quote("#include <austream.h>")
|
||||
|
||||
|
||||
|
||||
interface IAMMultiMediaStream;
|
||||
interface IAMMediaStream;
|
||||
interface IMediaStreamFilter;
|
||||
interface IDirectDraw;
|
||||
interface IDirectDrawSurface;
|
||||
interface IAMMediaTypeStream;
|
||||
interface IAMMediaTypeSample;
|
||||
|
||||
// Flags definitions for IAMMultiMediaStream::Initialize
|
||||
enum {
|
||||
AMMSF_NOGRAPHTHREAD = 0x00000001
|
||||
};
|
||||
|
||||
// Flags definitions for AddMediaStream and IAMMediaStream::Initialize
|
||||
enum {
|
||||
// Don't add a stream - create a default renderer instead
|
||||
// for the supplied purpose id
|
||||
AMMSF_ADDDEFAULTRENDERER = 0x00000001,
|
||||
AMMSF_CREATEPEER = 0x00000002,
|
||||
|
||||
// If no samples are created when we run or the last sample
|
||||
// is deleted then terminate this stream
|
||||
AMMSF_STOPIFNOSAMPLES = 0x00000004,
|
||||
|
||||
// If Update is not called keep going
|
||||
AMMSF_NOSTALL = 0x00000008
|
||||
};
|
||||
|
||||
|
||||
// Flag definitions for OpenFile and OpenMoniker
|
||||
enum {
|
||||
AMMSF_RENDERTYPEMASK = 0x00000003,
|
||||
AMMSF_RENDERTOEXISTING = 0x00000000,
|
||||
AMMSF_RENDERALLSTREAMS = 0x00000001,
|
||||
AMMSF_NORENDER = 0x00000002,
|
||||
|
||||
AMMSF_NOCLOCK = 0x00000004,
|
||||
AMMSF_RUN = 0x00000008
|
||||
};
|
||||
|
||||
|
||||
typedef [v1_enum] enum {
|
||||
Disabled = 0,
|
||||
ReadData = 1,
|
||||
RenderData = 2
|
||||
} OUTPUT_STATE;
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D),
|
||||
dual,
|
||||
helpstring("IDirectShowStream Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IDirectShowStream : IDispatch
|
||||
{
|
||||
[propget, id(1), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal);
|
||||
[propput, id(1), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal);
|
||||
[propget, id(2), helpstring("property Video")] HRESULT Video([out, retval] OUTPUT_STATE *pVal);
|
||||
[propput, id(2), helpstring("propetry Video")] HRESULT Video([in] OUTPUT_STATE newVal);
|
||||
[propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal);
|
||||
[propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal);
|
||||
};
|
||||
|
||||
|
||||
// IAMMultiMediaStream interface
|
||||
[
|
||||
object,
|
||||
uuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMMultiMediaStream : IMultiMediaStream
|
||||
{
|
||||
HRESULT Initialize(
|
||||
[in] STREAM_TYPE StreamType,
|
||||
[in] DWORD dwFlags,
|
||||
[in] IGraphBuilder *pFilterGraph);
|
||||
|
||||
HRESULT GetFilterGraph(
|
||||
[out] IGraphBuilder **ppGraphBuilder);
|
||||
|
||||
HRESULT GetFilter(
|
||||
[out] IMediaStreamFilter **ppFilter);
|
||||
|
||||
HRESULT AddMediaStream(
|
||||
[in] IUnknown *pStreamObject,
|
||||
[in] const MSPID *PurposeId,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IMediaStream **ppNewStream);
|
||||
|
||||
HRESULT OpenFile(
|
||||
[in] LPCWSTR pszFileName,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT OpenMoniker(
|
||||
[in] IBindCtx *pCtx,
|
||||
[in] IMoniker *pMoniker,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT Render(
|
||||
[in] DWORD dwFlags);
|
||||
}
|
||||
|
||||
|
||||
// IAMMediaStream interface
|
||||
[
|
||||
object,
|
||||
uuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMMediaStream : IMediaStream
|
||||
{
|
||||
HRESULT Initialize(
|
||||
[in] IUnknown *pSourceObject,
|
||||
[in] DWORD dwFlags,
|
||||
[in] REFMSPID PurposeId,
|
||||
[in] const STREAM_TYPE StreamType);
|
||||
|
||||
HRESULT SetState(
|
||||
[in] FILTER_STATE State);
|
||||
|
||||
HRESULT JoinAMMultiMediaStream(
|
||||
[in] IAMMultiMediaStream *pAMMultiMediaStream);
|
||||
|
||||
HRESULT JoinFilter(
|
||||
[in] IMediaStreamFilter *pMediaStreamFilter);
|
||||
|
||||
HRESULT JoinFilterGraph(
|
||||
[in] IFilterGraph *pFilterGraph);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
// IMediaStreamFilter interface
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMediaStreamFilter : IBaseFilter
|
||||
{
|
||||
HRESULT AddMediaStream(
|
||||
[in] IAMMediaStream *pAMMediaStream);
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] REFMSPID idPurpose,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT EnumMediaStreams(
|
||||
[in] long Index,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT SupportSeeking(
|
||||
[in] BOOL bRenderer);
|
||||
|
||||
HRESULT ReferenceTimeToStreamTime(
|
||||
[in] [out] REFERENCE_TIME *pTime);
|
||||
|
||||
HRESULT GetCurrentStreamTime(
|
||||
[out] REFERENCE_TIME *pCurrentStreamTime);
|
||||
|
||||
HRESULT WaitUntil(
|
||||
[in] REFERENCE_TIME WaitStreamTime);
|
||||
|
||||
HRESULT Flush(
|
||||
[in] BOOL bCancelEOS);
|
||||
|
||||
HRESULT EndOfStream();
|
||||
};
|
||||
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IDirectDrawMediaSampleAllocator : IUnknown
|
||||
{
|
||||
HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw);
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IDirectDrawMediaSample : IUnknown
|
||||
{
|
||||
HRESULT GetSurfaceAndReleaseLock(
|
||||
[out] IDirectDrawSurface **ppDirectDrawSurface,
|
||||
[out] RECT * pRect);
|
||||
HRESULT LockMediaSamplePointer(void);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
interface IAMMediaTypeStream : IMediaStream
|
||||
{
|
||||
HRESULT GetFormat(
|
||||
[out] AM_MEDIA_TYPE * pMediaType,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] AM_MEDIA_TYPE * pMediaType,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT CreateSample(
|
||||
[in] long lSampleSize,
|
||||
[in] BYTE * pbBuffer,
|
||||
[in] DWORD dwFlags,
|
||||
[in] IUnknown *pUnkOuter,
|
||||
[out] IAMMediaTypeSample ** ppAMMediaTypeSample);
|
||||
|
||||
HRESULT GetStreamAllocatorRequirements(
|
||||
[out] ALLOCATOR_PROPERTIES *pProps);
|
||||
|
||||
HRESULT SetStreamAllocatorRequirements(
|
||||
[in] ALLOCATOR_PROPERTIES *pProps);
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMMediaTypeSample : IStreamSample
|
||||
{
|
||||
//
|
||||
// Unique methods for IAMMediaTypeSample
|
||||
//
|
||||
HRESULT SetPointer([in] BYTE *pBuffer, [in] long lSize);
|
||||
|
||||
//
|
||||
// Mirror of IMediaSample
|
||||
//
|
||||
HRESULT GetPointer([out] BYTE ** ppBuffer);
|
||||
long GetSize(void);
|
||||
HRESULT GetTime([out] REFERENCE_TIME * pTimeStart, [out] REFERENCE_TIME * pTimeEnd);
|
||||
HRESULT SetTime([in] REFERENCE_TIME * pTimeStart, [in] REFERENCE_TIME * pTimeEnd);
|
||||
HRESULT IsSyncPoint(void);
|
||||
HRESULT SetSyncPoint(BOOL bIsSyncPoint);
|
||||
HRESULT IsPreroll(void);
|
||||
HRESULT SetPreroll(BOOL bIsPreroll);
|
||||
long GetActualDataLength(void);
|
||||
HRESULT SetActualDataLength(long);
|
||||
HRESULT GetMediaType(AM_MEDIA_TYPE **ppMediaType);
|
||||
HRESULT SetMediaType(AM_MEDIA_TYPE *pMediaType);
|
||||
HRESULT IsDiscontinuity(void);
|
||||
HRESULT SetDiscontinuity(BOOL bDiscontinuity);
|
||||
HRESULT GetMediaTime([out] LONGLONG * pTimeStart, [out] LONGLONG * pTimeEnd);
|
||||
HRESULT SetMediaTime([in] LONGLONG * pTimeStart, [in] LONGLONG * pTimeEnd);
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
uuid(4E6CDE29-C0C4-11d0-8FF1-00C04FD9189D),
|
||||
version(1.0),
|
||||
helpstring("DirectShowStream 1.0 Type Library")
|
||||
]
|
||||
|
||||
library DirectShowStreamLib
|
||||
{
|
||||
importlib("stdole32.tlb");
|
||||
importlib("stdole2.tlb");
|
||||
|
||||
[
|
||||
uuid(49c47ce5-9ba4-11d0-8212-00c04fc32c45),
|
||||
helpstring("DirectShow Multi Media Stream")
|
||||
]
|
||||
coclass AMMultiMediaStream
|
||||
{
|
||||
[default] dispinterface IDirectShowStream;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
//
|
||||
// The MIDL compiler wants to produce a CLSID for everything defined in
|
||||
// our type library, but it also wants to generate huge proxy code,
|
||||
// so we use DEFINE_GUID for all other classes. It has another interesting
|
||||
// bug in that it defines CLSID_AMMultiMediaStream within a #ifdef __cplusplus
|
||||
// block, so we need to define it outside of that scope.
|
||||
//
|
||||
|
||||
cpp_quote("#ifndef __cplusplus")
|
||||
cpp_quote("EXTERN_C const CLSID CLSID_AMMultiMediaStream;")
|
||||
cpp_quote("#endif")
|
||||
|
||||
cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, /* 49c47ce4-9ba4-11d0-8212-00c04fc32c45 */")
|
||||
cpp_quote("0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_AMAudioStream, /* 8496e040-af4c-11d0-8212-00c04fc32c45 */")
|
||||
cpp_quote("0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_AMAudioData, /* f2468580-af8a-11d0-8212-00c04fc32c45 */")
|
||||
cpp_quote("0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream, /* CF0F2F7C-F7BF-11d0-900D-00C04FD9189D */")
|
||||
cpp_quote("0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
|
170
extern/include/DShowIDL/amvpe.idl
vendored
@ -1,170 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: AMVPE.idl
|
||||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl"; // for IPersist (IFilter's root)
|
||||
|
||||
|
||||
/*
|
||||
* VIDOESIGNALINFO
|
||||
*/
|
||||
typedef struct _VIDEOSIGNALINFO
|
||||
{
|
||||
DWORD dwSize; // Size of the structure
|
||||
DWORD dwVREFHeight; // Specifies the number of lines of data in the vref
|
||||
BOOL bDoubleClock; // videoport should enable double clocking
|
||||
BOOL bVACT; // videoport should use an external VACT signal
|
||||
BOOL bInterlaced; // Indicates that the signal is interlaced
|
||||
BOOL bHalfline; // Device will write half lines into the frame buffer
|
||||
BOOL bInvertedPolarity; // Devoce inverts the polarity by default
|
||||
} AMVIDEOSIGNALINFO;
|
||||
|
||||
typedef struct AMVIDEOSIGNALINFO *LPAMVIDEOSIGNALINFO;
|
||||
|
||||
|
||||
interface IVPEConfig;
|
||||
interface IVPE;
|
||||
|
||||
|
||||
/*
|
||||
* DDVIDEOPORTCONNECT
|
||||
*/
|
||||
typedef struct _DDVIDEOPORTCONNECT
|
||||
{
|
||||
DWORD dwSize; // size of the DDVIDEOPORTCONNECT structure
|
||||
GUID guidTypeID; // Description of video port connection
|
||||
DWORD dwPortWidth; // Width of the video port
|
||||
DWORD dwFlags; // Connection flags
|
||||
} DDVIDEOPORTCONNECT;
|
||||
|
||||
typedef DDVIDEOPORTCONNECT *LPDDVIDEOPORTCONNECT;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DDPIXELFORMAT
|
||||
*/
|
||||
typedef struct _DDPIXELFORMAT
|
||||
{
|
||||
DWORD dwSize; // size of structure
|
||||
DWORD dwFlags; // pixel format flags
|
||||
DWORD dwFourCC; // (FOURCC code)
|
||||
union
|
||||
{
|
||||
DWORD dwRGBBitCount; // how many bits per pixel (BD_1,2,4,8,16,24,32)
|
||||
DWORD dwYUVBitCount; // how many bits per pixel (BD_4,8,16,24,32)
|
||||
DWORD dwZBufferBitDepth; // how many bits for z buffers (BD_8,16,24,32)
|
||||
DWORD dwAlphaBitDepth; // how many bits for alpha channels (BD_1,2,4,8)
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwRBitMask; // mask for red bit
|
||||
DWORD dwYBitMask; // mask for Y bits
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwGBitMask; // mask for green bits
|
||||
DWORD dwUBitMask; // mask for U bits
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwBBitMask; // mask for blue bits
|
||||
DWORD dwVBitMask; // mask for V bits
|
||||
};
|
||||
union
|
||||
{
|
||||
DWORD dwRGBAlphaBitMask; // mask for alpha channel
|
||||
DWORD dwYUVAlphaBitMask; // mask for alpha channel
|
||||
DWORD dwRGBZBitMask; // mask for Z channel
|
||||
DWORD dwYUVZBitMask; // mask for Z channel
|
||||
};
|
||||
} DDPIXELFORMAT;
|
||||
|
||||
typedef DDPIXELFORMAT * LPDDPIXELFORMAT;
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(BC29A660-30E3-11d0-9E69-00C04FD7C15B),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
interface IVPEConfig : IUnknown {
|
||||
|
||||
// gets the various connection information structures (guid, portwidth)
|
||||
// in an array of structures. If the pointer to the array is NULL, first
|
||||
// parameter returns the total number of formats supported.
|
||||
HRESULT GetConnectInfo(
|
||||
[in,out] LPDWORD lpNumConnectInfo,
|
||||
[out] LPDDVIDEOPORTCONNECT lpddvpConnectInfo
|
||||
);
|
||||
|
||||
HRESULT SetConnectInfo(
|
||||
[in] DDVIDEOPORTCONNECT ddvpConnectInfo
|
||||
);
|
||||
|
||||
// gets the various formats supported by the decoder in an array
|
||||
// of structures. If the pointer to the array is NULL, first parameter
|
||||
// returns the total number of formats supported.
|
||||
HRESULT GetVideoFormats(
|
||||
[in,out] LPDWORD lpNumFormats,
|
||||
[out] LPDDPIXELFORMAT lpddpfFormats
|
||||
);
|
||||
|
||||
// retrives maximum pixels per second rate expected for a given
|
||||
// format and a given scaling factor. If decoder does not support
|
||||
// those scaling factors, then it gives the rate and the nearest
|
||||
// scaling factors.
|
||||
HRESULT GetMaxPixelRate(
|
||||
[in] DDPIXELFORMAT ddpfFormat,
|
||||
[in,out] LPDWORD lpdwZoomHeight,
|
||||
[in,out] LPDWORD lpdwZoomWidth,
|
||||
[out] LPDWORD lpdwMaxPixelsPerSecond
|
||||
);
|
||||
|
||||
// retrives various properties of the decoder for a given format
|
||||
HRESULT GetVideoSignalInfo(
|
||||
[in] DDPIXELFORMAT ddpfFormat,
|
||||
[out] LPAMVIDEOSIGNALINFO lpAMVideoSignalInfo
|
||||
);
|
||||
|
||||
// asks the decoder to ouput in this format. Return value should give
|
||||
// appropriate error code
|
||||
HRESULT SetVideoFormat(
|
||||
[in] DDPIXELFORMAT ddpfFormat
|
||||
);
|
||||
|
||||
// asks the decoder to treat even fields like odd fields and visa versa
|
||||
HRESULT SetInvertPolarity(
|
||||
);
|
||||
|
||||
// sets the scaling factors. If decoder does not support these,
|
||||
// then it sets the values to the nearest factors it can support
|
||||
HRESULT SetScalingFactors(
|
||||
[in,out] LPDWORD lpdwZoomHeight,
|
||||
[in,out] LPDWORD lpdwZoomWidth
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(BC29A661-30E3-11d0-9E69-00C04FD7C15B),
|
||||
pointer_default(unique)
|
||||
]
|
||||
|
||||
interface IVPE : IUnknown {
|
||||
HRESULT SetOverlaySurface(
|
||||
[in] LPUNKNOWN lpOverlaySurface,
|
||||
[in] INT iNumBackBuffers
|
||||
);
|
||||
|
||||
}
|
106
extern/include/DShowIDL/austream.idl
vendored
@ -1,106 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: AuStream.idl
|
||||
//
|
||||
// Desc: Used by MIDL tool to generate austream.h
|
||||
//
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "mmstream.idl";
|
||||
|
||||
cpp_quote("//")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
|
||||
cpp_quote("//")
|
||||
cpp_quote("#if 0")
|
||||
typedef struct tWAVEFORMATEX WAVEFORMATEX;
|
||||
cpp_quote ("#endif")
|
||||
|
||||
interface IAudioMediaStream;
|
||||
interface IAudioStreamSample;
|
||||
interface IMemoryData;
|
||||
interface IAudioData;
|
||||
|
||||
// IAudioMediaStream
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(f7537560-a3be-11d0-8212-00c04fc32c45),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAudioMediaStream : IMediaStream
|
||||
{
|
||||
|
||||
HRESULT GetFormat(
|
||||
[out] WAVEFORMATEX *pWaveFormatCurrent
|
||||
);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] const WAVEFORMATEX *lpWaveFormat);
|
||||
|
||||
HRESULT CreateSample(
|
||||
[in] IAudioData *pAudioData,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IAudioStreamSample **ppSample
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(345fee00-aba5-11d0-8212-00c04fc32c45),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAudioStreamSample : IStreamSample
|
||||
{
|
||||
HRESULT GetAudioData(
|
||||
[out] IAudioData **ppAudio
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(327fc560-af60-11d0-8212-00c04fc32c45),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMemoryData : IUnknown
|
||||
{
|
||||
HRESULT SetBuffer(
|
||||
[in] DWORD cbSize,
|
||||
[in] BYTE *pbData,
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
|
||||
HRESULT GetInfo(
|
||||
[out] DWORD *pdwLength,
|
||||
[out] BYTE **ppbData,
|
||||
[out] DWORD *pcbActualData
|
||||
);
|
||||
HRESULT SetActual(
|
||||
[in] DWORD cbDataValid
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(54c719c0-af60-11d0-8212-00c04fc32c45),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAudioData : IMemoryData
|
||||
{
|
||||
HRESULT GetFormat(
|
||||
[out] WAVEFORMATEX *pWaveFormatCurrent
|
||||
);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] const WAVEFORMATEX *lpWaveFormat
|
||||
);
|
||||
}
|
||||
|
1284
extern/include/DShowIDL/axcore.idl
vendored
9423
extern/include/DShowIDL/axextend.idl
vendored
1744
extern/include/DShowIDL/bdaiface.idl
vendored
909
extern/include/DShowIDL/control.odl
vendored
@ -1,909 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: Control.odl
|
||||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Neutral/English language type library for basic Quartz control interfaces
|
||||
|
||||
// the quartz type library defines the basic control interfaces
|
||||
[
|
||||
uuid(56a868b0-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("ActiveMovie control type library"),
|
||||
lcid(0x0000),
|
||||
version(1.0)
|
||||
]
|
||||
library QuartzTypeLib
|
||||
{
|
||||
importlib("STDOLE32.TLB");
|
||||
|
||||
// types are restricted to be automation-compatible
|
||||
typedef double REFTIME; // ReferenceTime
|
||||
typedef LONG_PTR OAEVENT; // should be a HANDLE
|
||||
typedef LONG_PTR OAHWND; // should be an hwnd
|
||||
|
||||
// from strmif.idl
|
||||
typedef long OAFilterState;
|
||||
|
||||
// collection interface - represents a collection of IUnknowns
|
||||
// this is used below to collect filter-info objects, registry-filters
|
||||
// pin-info objects and wrapped media type objects
|
||||
[
|
||||
uuid(56a868b9-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("Collection"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IAMCollection : IDispatch
|
||||
{
|
||||
// number of items in collection
|
||||
[propget]
|
||||
HRESULT Count(
|
||||
[out, retval] LONG* plCount);
|
||||
|
||||
// return IUnknown for contained item by index
|
||||
HRESULT Item(
|
||||
[in] long lItem,
|
||||
[out] IUnknown** ppUnk);
|
||||
|
||||
// return IUnknown for an object that implements IEnumVARIANT on
|
||||
// this collection
|
||||
[propget]
|
||||
HRESULT _NewEnum(
|
||||
[out, retval] IUnknown** ppUnk);
|
||||
}
|
||||
|
||||
|
||||
// core control providing state control
|
||||
[
|
||||
uuid(56a868b1-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IMediaControl interface"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IMediaControl : IDispatch
|
||||
{
|
||||
// methods
|
||||
HRESULT Run();
|
||||
HRESULT Pause();
|
||||
HRESULT Stop();
|
||||
|
||||
//returns the state. same semantics as IMediaFilter::GetState
|
||||
|
||||
HRESULT GetState(
|
||||
[in] LONG msTimeout,
|
||||
[out] OAFilterState* pfs);
|
||||
|
||||
// adds and connects filters needed to play the specified file
|
||||
// (same as IFilterGraph::RenderFile)
|
||||
HRESULT RenderFile(
|
||||
[in] BSTR strFilename);
|
||||
|
||||
// adds to the graph the source filter that can read this file,
|
||||
// and returns an IFilterInfo object for it (actually returns
|
||||
// an IDispatch for the IFilterInfo object).
|
||||
HRESULT AddSourceFilter(
|
||||
[in] BSTR strFilename,
|
||||
[out] IDispatch**ppUnk);
|
||||
|
||||
// get a collection of IFilterInfo objects representing the
|
||||
// filters in the graph (returns IDispatch for an object
|
||||
// that supports IAMCollection
|
||||
[propget]
|
||||
HRESULT FilterCollection(
|
||||
[out, retval] IDispatch** ppUnk);
|
||||
|
||||
// get a collection of IRegFilter objects representing the
|
||||
// filters available in the registry
|
||||
[propget]
|
||||
HRESULT RegFilterCollection(
|
||||
[out, retval] IDispatch** ppUnk);
|
||||
|
||||
HRESULT StopWhenReady();
|
||||
}
|
||||
|
||||
|
||||
// provides an event notification scheme passing events
|
||||
// asynchronously to applications. See also IMediaEventSink in
|
||||
// strmif.idl and sdk\h\evcodes.h.
|
||||
//
|
||||
// this interface behaves as if events are held on a queue. A call to
|
||||
// IMediaEventSink::Notify will place an event on this queue. Calling
|
||||
// GetEvent removes the first item off the queue and returns it. Items are
|
||||
// returned in the order they were queued (there is no priority scheme).
|
||||
// The event handle is in a signalled state iff the queue is non-empty.
|
||||
//
|
||||
// Apps that issue multiple Run calls without always picking up the
|
||||
// completion events are advised to call GetEvent or WaitForCompletion
|
||||
// (with a 0 timeout) repeatedly to remove all events from the queue
|
||||
// when in stopped or paused state before each Run method.
|
||||
//
|
||||
// Parameters to events are actually LONG, IUnknown* or BSTR. You need to
|
||||
// look at evcode.h for details of parameters to a specific event code.
|
||||
// In order to correctly free resources, always call FreeEventParams
|
||||
// after receiving an event.
|
||||
//
|
||||
|
||||
[
|
||||
uuid(56a868b6-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IMediaEvent interface"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IMediaEvent : IDispatch
|
||||
{
|
||||
// get back the event handle. This is manual-reset
|
||||
// (don't - it's reset by the event mechanism) and remains set
|
||||
// when events are queued, and reset when the queue is empty.
|
||||
HRESULT GetEventHandle(
|
||||
[out] OAEVENT * hEvent);
|
||||
|
||||
// remove the next event notification from the head of the queue and
|
||||
// return it. Waits up to msTimeout millisecs if there are no events.
|
||||
// if a timeout occurs without any events, this method will return
|
||||
// E_ABORT, and the value of the event code and other parameters
|
||||
// is undefined.
|
||||
//
|
||||
// If this call returns successfully the caller MUST call
|
||||
// FreeEventParams(lEventCode, lParam1, lParam2) to release
|
||||
// resources held inside the event arguments
|
||||
//
|
||||
HRESULT GetEvent(
|
||||
[out] long * lEventCode,
|
||||
[out] LONG_PTR * lParam1,
|
||||
[out] LONG_PTR * lParam2,
|
||||
[in] long msTimeout
|
||||
);
|
||||
|
||||
// Calls GetEvent repeatedly discarding events until it finds a
|
||||
// completion event (EC_COMPLETE, EC_ERRORABORT, or EC_USERABORT).
|
||||
// The completion event is removed from the queue and returned
|
||||
// in pEvCode. Note that the object is still in running mode until
|
||||
// a Pause or Stop call is made.
|
||||
// If the timeout occurs, *pEvCode will be 0 and E_ABORT will be
|
||||
// returned.
|
||||
HRESULT WaitForCompletion(
|
||||
[in] long msTimeout,
|
||||
[out] long * pEvCode);
|
||||
|
||||
// cancels any system handling of the specified event code
|
||||
// and ensures that the events are passed straight to the application
|
||||
// (via GetEvent) and not handled. A good example of this is
|
||||
// EC_REPAINT: default handling for this ensures the painting of the
|
||||
// window and does not get posted to the app.
|
||||
HRESULT CancelDefaultHandling(
|
||||
[in] long lEvCode);
|
||||
|
||||
// restore the normal system default handling that may have been
|
||||
// cancelled by CancelDefaultHandling().
|
||||
HRESULT RestoreDefaultHandling( [in] long lEvCode);
|
||||
|
||||
// Free any resources associated with the parameters to an event.
|
||||
// Event parameters may be LONGs, IUnknown* or BSTR. No action
|
||||
// is taken with LONGs. IUnknown are passed addrefed and need a
|
||||
// Release call. BSTR are allocated by the task allocator and will be
|
||||
// freed by calling the task allocator.
|
||||
HRESULT FreeEventParams(
|
||||
[in] long lEvCode,
|
||||
[in] LONG_PTR lParam1,
|
||||
[in] LONG_PTR lParam2
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
uuid(56a868c0-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IMediaEventEx interface"),
|
||||
odl
|
||||
]
|
||||
interface IMediaEventEx : IMediaEvent
|
||||
{
|
||||
|
||||
// Register a window to send messages to when events occur
|
||||
// Parameters:
|
||||
//
|
||||
// hwnd - handle of window to notify -
|
||||
// pass NULL to stop notification
|
||||
// lMsg - Message id to pass messages with
|
||||
// lInstanceData - will come back in lParam
|
||||
//
|
||||
// The event information must still be retrived by a call
|
||||
// to GetEvent when the window message is received.
|
||||
//
|
||||
// Multiple events may be notified with one window message.
|
||||
//
|
||||
HRESULT SetNotifyWindow(
|
||||
[in] OAHWND hwnd,
|
||||
[in] long lMsg,
|
||||
[in] LONG_PTR lInstanceData
|
||||
);
|
||||
|
||||
// Turn events notification on or off
|
||||
// lNoNotify = 0x00 event notification is ON
|
||||
// lNoNotify = 0x01 event notification is OFF. The
|
||||
// handle returned by GetEventHandle will be signalled at
|
||||
// end of stream
|
||||
HRESULT SetNotifyFlags(
|
||||
[in] long lNoNotifyFlags
|
||||
);
|
||||
HRESULT GetNotifyFlags(
|
||||
[out] long *lplNoNotifyFlags
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// seek/cueing for positional media
|
||||
[
|
||||
uuid(56a868b2-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IMediaPosition interface"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IMediaPosition : IDispatch
|
||||
{
|
||||
// properties
|
||||
|
||||
[propget]
|
||||
HRESULT Duration(
|
||||
[out, retval] REFTIME* plength);
|
||||
|
||||
[propput]
|
||||
HRESULT CurrentPosition(
|
||||
[in] REFTIME llTime);
|
||||
|
||||
[propget]
|
||||
HRESULT CurrentPosition(
|
||||
[out, retval] REFTIME* pllTime);
|
||||
|
||||
[propget]
|
||||
HRESULT StopTime(
|
||||
[out, retval] REFTIME* pllTime);
|
||||
[propput]
|
||||
HRESULT StopTime(
|
||||
[in] REFTIME llTime);
|
||||
|
||||
[propget]
|
||||
HRESULT PrerollTime(
|
||||
[out, retval] REFTIME* pllTime);
|
||||
[propput]
|
||||
HRESULT PrerollTime(
|
||||
[in] REFTIME llTime);
|
||||
|
||||
[propput]
|
||||
HRESULT Rate(
|
||||
[in] double dRate);
|
||||
[propget]
|
||||
HRESULT Rate(
|
||||
[out, retval] double * pdRate);
|
||||
|
||||
HRESULT CanSeekForward([out, retval] LONG *pCanSeekForward);
|
||||
HRESULT CanSeekBackward([out, retval] LONG *pCanSeekBackward);
|
||||
}
|
||||
|
||||
// basic audio-related functionality
|
||||
[
|
||||
uuid(56a868b3-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IBasicAudio interface"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IBasicAudio : IDispatch
|
||||
{
|
||||
// properties
|
||||
|
||||
[propput]
|
||||
HRESULT Volume(
|
||||
[in] long lVolume);
|
||||
[propget]
|
||||
HRESULT Volume(
|
||||
[out, retval] long * plVolume);
|
||||
|
||||
[propput]
|
||||
HRESULT Balance(
|
||||
[in] long lBalance);
|
||||
[propget]
|
||||
HRESULT Balance(
|
||||
[out, retval] long * plBalance);
|
||||
}
|
||||
|
||||
// basic window-related functionality
|
||||
[
|
||||
uuid(56a868b4-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IVideoWindow interface"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IVideoWindow : IDispatch
|
||||
{
|
||||
// properties
|
||||
|
||||
// set and get the window title caption
|
||||
|
||||
[propput]
|
||||
HRESULT Caption([in] BSTR strCaption);
|
||||
[propget]
|
||||
HRESULT Caption([out, retval] BSTR *strCaption);
|
||||
|
||||
// change the window styles (as per Win32)
|
||||
|
||||
[propput]
|
||||
HRESULT WindowStyle([in] long WindowStyle);
|
||||
[propget]
|
||||
HRESULT WindowStyle([out, retval] long *WindowStyle);
|
||||
|
||||
// change the extended window styles (as per Win32)
|
||||
|
||||
[propput]
|
||||
HRESULT WindowStyleEx([in] long WindowStyleEx);
|
||||
[propget]
|
||||
HRESULT WindowStyleEx([out, retval] long *WindowStyleEx);
|
||||
|
||||
[propput]
|
||||
HRESULT AutoShow([in] long AutoShow);
|
||||
[propget]
|
||||
HRESULT AutoShow([out, retval] long *AutoShow);
|
||||
|
||||
// change the window state (as per Win32)
|
||||
|
||||
[propput]
|
||||
HRESULT WindowState([in] long WindowState);
|
||||
[propget]
|
||||
HRESULT WindowState([out, retval] long *WindowState);
|
||||
|
||||
// realise the palette in the background
|
||||
|
||||
[propput]
|
||||
HRESULT BackgroundPalette([in] long BackgroundPalette);
|
||||
[propget]
|
||||
HRESULT BackgroundPalette([out, retval] long *pBackgroundPalette);
|
||||
|
||||
// affect the visibility of the window
|
||||
|
||||
[propput]
|
||||
HRESULT Visible([in] long Visible);
|
||||
[propget]
|
||||
HRESULT Visible([out, retval] long *pVisible);
|
||||
|
||||
// change the desktop position of the video window
|
||||
|
||||
[propput]
|
||||
HRESULT Left([in] long Left);
|
||||
[propget]
|
||||
HRESULT Left([out, retval] long *pLeft);
|
||||
|
||||
[propput]
|
||||
HRESULT Width([in] long Width);
|
||||
[propget]
|
||||
HRESULT Width([out, retval] long *pWidth);
|
||||
|
||||
[propput]
|
||||
HRESULT Top([in] long Top);
|
||||
[propget]
|
||||
HRESULT Top([out, retval] long *pTop);
|
||||
|
||||
[propput]
|
||||
HRESULT Height([in] long Height);
|
||||
[propget]
|
||||
HRESULT Height([out, retval] long *pHeight);
|
||||
|
||||
// change the owning window of the video
|
||||
|
||||
[propput]
|
||||
HRESULT Owner([in] OAHWND Owner);
|
||||
[propget]
|
||||
HRESULT Owner([out, retval] OAHWND *Owner);
|
||||
|
||||
// change the window to receive posted messages
|
||||
|
||||
[propput]
|
||||
HRESULT MessageDrain([in] OAHWND Drain);
|
||||
[propget]
|
||||
HRESULT MessageDrain([out, retval] OAHWND *Drain);
|
||||
|
||||
[propget]
|
||||
HRESULT BorderColor([out, retval] long *Color);
|
||||
|
||||
[propput]
|
||||
HRESULT BorderColor([in] long Color);
|
||||
|
||||
[propget]
|
||||
HRESULT FullScreenMode([out, retval] long *FullScreenMode);
|
||||
|
||||
[propput]
|
||||
HRESULT FullScreenMode([in] long FullScreenMode);
|
||||
|
||||
// methods
|
||||
|
||||
// ask the renderer to grab it's window the foreground
|
||||
// and optionally also give the window the input focus
|
||||
HRESULT SetWindowForeground([in] long Focus);
|
||||
|
||||
// owners should pass WM_PALETTECHANGED and WM_SYSCOLORCHANGE
|
||||
// messages on the filter graph so they can be distributed
|
||||
// otherwise child renderers never see these messages go by
|
||||
|
||||
HRESULT NotifyOwnerMessage([in] OAHWND hwnd,
|
||||
[in] long uMsg,
|
||||
[in] LONG_PTR wParam,
|
||||
[in] LONG_PTR lParam
|
||||
);
|
||||
|
||||
// get and set the window position on the desktop
|
||||
|
||||
HRESULT SetWindowPosition([in] long Left,
|
||||
[in] long Top,
|
||||
[in] long Width,
|
||||
[in] long Height);
|
||||
|
||||
HRESULT GetWindowPosition([out] long *pLeft,
|
||||
[out] long *pTop,
|
||||
[out] long *pWidth,
|
||||
[out] long *pHeight);
|
||||
|
||||
// get the ideal sizes for the video image playback (client) area
|
||||
|
||||
HRESULT GetMinIdealImageSize([out] long *pWidth,[out] long *pHeight);
|
||||
HRESULT GetMaxIdealImageSize([out] long *pWidth,[out] long *pHeight);
|
||||
|
||||
// get the restored window size when we're maximised or iconic
|
||||
|
||||
HRESULT GetRestorePosition([out] long *pLeft,
|
||||
[out] long *pTop,
|
||||
[out] long *pWidth,
|
||||
[out] long *pHeight);
|
||||
|
||||
// show and hide cursors useful when fullscreen
|
||||
HRESULT HideCursor([in] long HideCursor);
|
||||
HRESULT IsCursorHidden([out] long *CursorHidden);
|
||||
}
|
||||
|
||||
// basic video-related functionality
|
||||
[
|
||||
uuid(56a868b5-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IBasicVideo interface"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IBasicVideo : IDispatch
|
||||
{
|
||||
// properties
|
||||
|
||||
// Video specific (approximate) bit and frame rates
|
||||
|
||||
[propget]
|
||||
HRESULT AvgTimePerFrame([out, retval] REFTIME *pAvgTimePerFrame);
|
||||
|
||||
[propget]
|
||||
HRESULT BitRate([out, retval] long *pBitRate);
|
||||
|
||||
[propget]
|
||||
HRESULT BitErrorRate([out, retval] long *pBitErrorRate);
|
||||
|
||||
// read the native video size
|
||||
|
||||
[propget]
|
||||
HRESULT VideoWidth([out, retval] long *pVideoWidth);
|
||||
|
||||
[propget]
|
||||
HRESULT VideoHeight([out, retval] long *pVideoHeight);
|
||||
|
||||
// change the source rectangle for the video
|
||||
|
||||
[propput]
|
||||
HRESULT SourceLeft([in] long SourceLeft);
|
||||
[propget]
|
||||
HRESULT SourceLeft([out, retval] long *pSourceLeft);
|
||||
|
||||
[propput]
|
||||
HRESULT SourceWidth([in] long SourceWidth);
|
||||
[propget]
|
||||
HRESULT SourceWidth([out, retval] long *pSourceWidth);
|
||||
|
||||
[propput]
|
||||
HRESULT SourceTop([in] long SourceTop);
|
||||
[propget]
|
||||
HRESULT SourceTop([out, retval] long *pSourceTop);
|
||||
|
||||
[propput]
|
||||
HRESULT SourceHeight([in] long SourceHeight);
|
||||
[propget]
|
||||
HRESULT SourceHeight([out, retval] long *pSourceHeight);
|
||||
|
||||
// change the destination rectangle for the video
|
||||
|
||||
[propput]
|
||||
HRESULT DestinationLeft([in] long DestinationLeft);
|
||||
[propget]
|
||||
HRESULT DestinationLeft([out, retval] long *pDestinationLeft);
|
||||
|
||||
[propput]
|
||||
HRESULT DestinationWidth([in] long DestinationWidth);
|
||||
[propget]
|
||||
HRESULT DestinationWidth([out, retval] long *pDestinationWidth);
|
||||
|
||||
[propput]
|
||||
HRESULT DestinationTop([in] long DestinationTop);
|
||||
[propget]
|
||||
HRESULT DestinationTop([out, retval] long *pDestinationTop);
|
||||
|
||||
[propput]
|
||||
HRESULT DestinationHeight([in] long DestinationHeight);
|
||||
[propget]
|
||||
HRESULT DestinationHeight([out, retval] long *pDestinationHeight);
|
||||
|
||||
// methods
|
||||
|
||||
// get and set the source rectangle position
|
||||
|
||||
HRESULT SetSourcePosition([in] long Left,
|
||||
[in] long Top,
|
||||
[in] long Width,
|
||||
[in] long Height);
|
||||
|
||||
HRESULT GetSourcePosition([out] long *pLeft,
|
||||
[out] long *pTop,
|
||||
[out] long *pWidth,
|
||||
[out] long *pHeight);
|
||||
|
||||
HRESULT SetDefaultSourcePosition();
|
||||
|
||||
// get and set the destination rectangle position
|
||||
|
||||
HRESULT SetDestinationPosition([in] long Left,
|
||||
[in] long Top,
|
||||
[in] long Width,
|
||||
[in] long Height);
|
||||
|
||||
HRESULT GetDestinationPosition([out] long *pLeft,
|
||||
[out] long *pTop,
|
||||
[out] long *pWidth,
|
||||
[out] long *pHeight);
|
||||
|
||||
HRESULT SetDefaultDestinationPosition();
|
||||
|
||||
// get the native video dimensions
|
||||
|
||||
HRESULT GetVideoSize([out] long *pWidth,[out] long *pHeight);
|
||||
|
||||
// get all or some of the current video palette
|
||||
|
||||
HRESULT GetVideoPaletteEntries([in] long StartIndex,
|
||||
[in] long Entries,
|
||||
[out] long *pRetrieved,
|
||||
[out] long *pPalette);
|
||||
|
||||
HRESULT GetCurrentImage([in,out] long *pBufferSize,
|
||||
[out] long *pDIBImage);
|
||||
|
||||
// are we using a default source or destination
|
||||
|
||||
HRESULT IsUsingDefaultSource();
|
||||
HRESULT IsUsingDefaultDestination();
|
||||
}
|
||||
|
||||
// interface extension to IBasicVideo to return preferred aspect ratio
|
||||
[
|
||||
uuid(329bb360-f6ea-11d1-9038-00a0c9697298),
|
||||
helpstring("IBasicVideo2"),
|
||||
odl
|
||||
]
|
||||
interface IBasicVideo2 : IBasicVideo
|
||||
{
|
||||
// This may not match the native video dimensions because of
|
||||
// non-square pixels or whatever.
|
||||
// The video may not always be displayed in the preferred
|
||||
// aspect ratio for performance reasons
|
||||
|
||||
HRESULT GetPreferredAspectRatio([out] long *plAspectX,
|
||||
[out] long *plAspectY);
|
||||
}
|
||||
|
||||
// interface returned to a command that has been queued via IQueueCommand
|
||||
[
|
||||
uuid(56a868b8-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IDeferredCommand"),
|
||||
odl
|
||||
]
|
||||
interface IDeferredCommand : IUnknown
|
||||
{
|
||||
HRESULT Cancel();
|
||||
HRESULT Confidence(
|
||||
[out] LONG* pConfidence);
|
||||
HRESULT Postpone(
|
||||
[in] REFTIME newtime);
|
||||
// return value is S_OK if completed. phrResult is set to the
|
||||
// result of the deferred command.
|
||||
HRESULT GetHResult(
|
||||
[out] HRESULT* phrResult);
|
||||
};
|
||||
|
||||
// queue an IDispatch-based command for execution at a specified time
|
||||
[
|
||||
uuid(56a868b7-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("IQueueCommand"),
|
||||
odl
|
||||
]
|
||||
interface IQueueCommand : IUnknown
|
||||
{
|
||||
HRESULT InvokeAtStreamTime(
|
||||
[out] IDeferredCommand** pCmd,
|
||||
[in] REFTIME time, // at this streamtime
|
||||
[in] GUID* iid, // call this interface
|
||||
[in] long dispidMethod, // ..and this method
|
||||
[in] short wFlags, // method/property
|
||||
[in] long cArgs, // count of args
|
||||
[in] VARIANT* pDispParams, // actual args
|
||||
[in, out] VARIANT* pvarResult, // return value
|
||||
[out] short* puArgErr // which arg in error
|
||||
);
|
||||
|
||||
HRESULT InvokeAtPresentationTime(
|
||||
[out] IDeferredCommand** pCmd,
|
||||
[in] REFTIME time, // at this presentation time
|
||||
[in] GUID* iid, // call this interface
|
||||
[in] long dispidMethod, // ..and this method
|
||||
[in] short wFlags, // method/property
|
||||
[in] long cArgs, // count of args
|
||||
[in] VARIANT* pDispParams, // actual args
|
||||
[in, out] VARIANT* pvarResult, // return value
|
||||
[out] short* puArgErr // which arg in error
|
||||
);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// the filgraph object (CLSID_Filgraph)
|
||||
[
|
||||
uuid(e436ebb3-524f-11ce-9f53-0020af0ba770),
|
||||
helpstring("Filtergraph type info")
|
||||
]
|
||||
coclass FilgraphManager
|
||||
{
|
||||
[default] interface IMediaControl;
|
||||
interface IMediaEvent;
|
||||
interface IMediaPosition;
|
||||
interface IBasicAudio;
|
||||
interface IBasicVideo;
|
||||
interface IVideoWindow;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// represents a filter (you can't QI for IBaseFilter from this object)
|
||||
[
|
||||
uuid(56a868ba-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("FilterInfo"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IFilterInfo : IDispatch
|
||||
{
|
||||
// find a pin given an id - returns an object supporting
|
||||
// IPinInfo
|
||||
HRESULT FindPin(
|
||||
[in] BSTR strPinID,
|
||||
[out] IDispatch** ppUnk);
|
||||
|
||||
// filter name
|
||||
[propget]
|
||||
HRESULT Name(
|
||||
[out, retval] BSTR* strName);
|
||||
|
||||
// Vendor info string
|
||||
[propget]
|
||||
HRESULT VendorInfo(
|
||||
[out, retval] BSTR* strVendorInfo);
|
||||
|
||||
// returns the actual filter object (supports IBaseFilter)
|
||||
[propget]
|
||||
HRESULT Filter(
|
||||
[out, retval] IUnknown **ppUnk);
|
||||
|
||||
// returns an IAMCollection object containing the PinInfo objects
|
||||
// for this filter
|
||||
[propget]
|
||||
HRESULT Pins(
|
||||
[out, retval] IDispatch ** ppUnk);
|
||||
|
||||
// returns -1 if true or 0 if false (OATRUE/FALSE)
|
||||
[propget]
|
||||
HRESULT IsFileSource(
|
||||
[out, retval] LONG * pbIsSource);
|
||||
|
||||
[propget]
|
||||
HRESULT Filename(
|
||||
[out, retval] BSTR* pstrFilename);
|
||||
|
||||
[propput]
|
||||
HRESULT Filename(
|
||||
[in] BSTR strFilename);
|
||||
}
|
||||
|
||||
[
|
||||
uuid(56a868bb-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("Registry Filter Info"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IRegFilterInfo : IDispatch
|
||||
{
|
||||
// get the name of this filter
|
||||
[propget]
|
||||
HRESULT Name(
|
||||
[out, retval] BSTR* strName);
|
||||
|
||||
|
||||
// make an instance of this filter, add it to the graph and
|
||||
// return an IFilterInfo for it.
|
||||
HRESULT Filter(
|
||||
[out] IDispatch** ppUnk);
|
||||
}
|
||||
|
||||
// wrapper for a media type
|
||||
[
|
||||
uuid(56a868bc-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("Media Type"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IMediaTypeInfo : IDispatch
|
||||
{
|
||||
// get the major type GUID as a string
|
||||
[propget]
|
||||
HRESULT Type(
|
||||
[out, retval] BSTR* strType);
|
||||
|
||||
// get the subtype GUID as a string
|
||||
[propget]
|
||||
HRESULT Subtype(
|
||||
[out, retval] BSTR* strType);
|
||||
}
|
||||
|
||||
[
|
||||
uuid(56a868bd-0ad4-11ce-b03a-0020af0ba770),
|
||||
helpstring("Pin Info"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IPinInfo : IDispatch
|
||||
{
|
||||
// get the pin object (IUnknown for an object that
|
||||
// supports IPin
|
||||
[propget]
|
||||
HRESULT Pin(
|
||||
[out, retval] IUnknown** ppUnk);
|
||||
|
||||
// get the PinInfo object for the pin we are connected to
|
||||
[propget]
|
||||
HRESULT ConnectedTo(
|
||||
[out, retval] IDispatch** ppUnk);
|
||||
|
||||
// get the media type on this connection - returns an
|
||||
// object supporting IMediaTypeInfo
|
||||
[propget]
|
||||
HRESULT ConnectionMediaType(
|
||||
[out, retval] IDispatch** ppUnk);
|
||||
|
||||
|
||||
// return the FilterInfo object for the filter this pin
|
||||
// is part of
|
||||
[propget]
|
||||
HRESULT FilterInfo(
|
||||
[out, retval] IDispatch** ppUnk);
|
||||
|
||||
// get the name of this pin
|
||||
[propget]
|
||||
HRESULT Name(
|
||||
[out, retval] BSTR* ppUnk);
|
||||
|
||||
// pin direction
|
||||
[propget]
|
||||
HRESULT Direction(
|
||||
[out, retval] LONG *ppDirection);
|
||||
|
||||
// PinID - can pass to IFilterInfo::FindPin
|
||||
[propget]
|
||||
HRESULT PinID(
|
||||
[out, retval] BSTR* strPinID);
|
||||
|
||||
// collection of preferred media types (IAMCollection)
|
||||
[propget]
|
||||
HRESULT MediaTypes(
|
||||
[out, retval] IDispatch** ppUnk);
|
||||
|
||||
// Connect to the following pin, using other transform
|
||||
// filters as necessary. pPin can support either IPin or IPinInfo
|
||||
HRESULT Connect(
|
||||
[in] IUnknown* pPin);
|
||||
|
||||
// Connect directly to the following pin, not using any intermediate
|
||||
// filters
|
||||
HRESULT ConnectDirect(
|
||||
[in] IUnknown* pPin);
|
||||
|
||||
// Connect directly to the following pin, using the specified
|
||||
// media type only. pPin is an object that must support either
|
||||
// IPin or IPinInfo, and pMediaType must support IMediaTypeInfo.
|
||||
HRESULT ConnectWithType(
|
||||
[in] IUnknown * pPin,
|
||||
[in] IDispatch * pMediaType);
|
||||
|
||||
// disconnect this pin and the corresponding connected pin from
|
||||
// each other. (Calls IPin::Disconnect on both pins).
|
||||
HRESULT Disconnect(void);
|
||||
|
||||
// render this pin using any necessary transform and rendering filters
|
||||
HRESULT Render(void);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
// IAMStats - statistics
|
||||
//
|
||||
// Note that the calls using an index are likely to be much faster
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
[
|
||||
uuid(bc9bcf80-dcd2-11d2-abf6-00a0c905f375),
|
||||
helpstring("Statistics"),
|
||||
odl,
|
||||
oleautomation,
|
||||
dual
|
||||
]
|
||||
interface IAMStats : IDispatch {
|
||||
// Reset all stats
|
||||
HRESULT Reset();
|
||||
|
||||
// Get number of stats collected
|
||||
[propget]
|
||||
HRESULT Count(
|
||||
[out, retval] LONG* plCount);
|
||||
|
||||
// Pull out a specific value by position
|
||||
HRESULT GetValueByIndex([in] long lIndex,
|
||||
[out] BSTR *szName,
|
||||
[out] long *lCount,
|
||||
[out] double *dLast,
|
||||
[out] double *dAverage,
|
||||
[out] double *dStdDev,
|
||||
[out] double *dMin,
|
||||
[out] double *dMax);
|
||||
|
||||
// Pull out a specific value by name
|
||||
HRESULT GetValueByName([in] BSTR szName,
|
||||
[out] long *lIndex,
|
||||
[out] long *lCount,
|
||||
[out] double *dLast,
|
||||
[out] double *dAverage,
|
||||
[out] double *dStdDev,
|
||||
[out] double *dMin,
|
||||
[out] double *dMax);
|
||||
|
||||
|
||||
// The calls below are for generators of statistics
|
||||
|
||||
// Return the index for a string - optinally create
|
||||
HRESULT GetIndex([in] BSTR szName,
|
||||
[in] long lCreate,
|
||||
[out] long *plIndex);
|
||||
|
||||
// Add a new value
|
||||
HRESULT AddValue([in] long lIndex,
|
||||
[in] double dValue);
|
||||
}
|
||||
};
|
86
extern/include/DShowIDL/ddstream.idl
vendored
@ -1,86 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DDStream.idl
|
||||
//
|
||||
// Desc: Used by MIDL tool to generate ddstream.h
|
||||
//
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "mmstream.idl";
|
||||
|
||||
cpp_quote("//")
|
||||
cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make")
|
||||
cpp_quote("// the ddstream.idl file build. The actual definitions are contained in DDRAW.H")
|
||||
cpp_quote("//")
|
||||
cpp_quote("#if 0")
|
||||
typedef void * LPDDSURFACEDESC;
|
||||
typedef struct tDDSURFACEDESC DDSURFACEDESC;
|
||||
cpp_quote("#endif")
|
||||
cpp_quote("#include <ddraw.h>")
|
||||
|
||||
enum {
|
||||
DDSFF_PROGRESSIVERENDER = 0x00000001
|
||||
};
|
||||
|
||||
interface IDirectDraw;
|
||||
interface IDirectDrawSurface;
|
||||
interface IDirectDrawPalette;
|
||||
|
||||
interface IDirectDrawMediaStream;
|
||||
interface IDirectDrawStreamSample;
|
||||
|
||||
// IDirectDrawMediaStream
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IDirectDrawMediaStream : IMediaStream
|
||||
{
|
||||
HRESULT GetFormat(
|
||||
[out] DDSURFACEDESC *pDDSDCurrent,
|
||||
[out] IDirectDrawPalette **ppDirectDrawPalette,
|
||||
[out] DDSURFACEDESC *pDDSDDesired,
|
||||
[out] DWORD *pdwFlags);
|
||||
|
||||
HRESULT SetFormat(
|
||||
[in] const DDSURFACEDESC *pDDSurfaceDesc,
|
||||
[in] IDirectDrawPalette *pDirectDrawPalette);
|
||||
|
||||
HRESULT GetDirectDraw(
|
||||
[out] IDirectDraw **ppDirectDraw);
|
||||
|
||||
HRESULT SetDirectDraw(
|
||||
[in] IDirectDraw *pDirectDraw);
|
||||
|
||||
HRESULT CreateSample(
|
||||
[in] IDirectDrawSurface *pSurface,
|
||||
[in] const RECT *pRect,
|
||||
[in] DWORD dwFlags,
|
||||
[out]IDirectDrawStreamSample **ppSample);
|
||||
|
||||
HRESULT GetTimePerFrame(
|
||||
[out] STREAM_TIME *pFrameTime);
|
||||
};
|
||||
|
||||
|
||||
// IDirectDrawStreamSample
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IDirectDrawStreamSample : IStreamSample
|
||||
{
|
||||
HRESULT GetSurface(
|
||||
[out] IDirectDrawSurface ** ppDirectDrawSurface,
|
||||
[out] RECT * pRect);
|
||||
|
||||
HRESULT SetRect(
|
||||
[in] const RECT * pRect);
|
||||
|
||||
};
|
38
extern/include/DShowIDL/devenum.idl
vendored
@ -1,38 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DevEnum.idl
|
||||
//
|
||||
// Desc: IDL source for devenum.dll. This file will be processed by the
|
||||
// MIDL tool to produce the type library (devenum.tlb) and marshalling
|
||||
// code.
|
||||
//
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
cpp_quote("#define CDEF_CLASS_DEFAULT 0x0001")
|
||||
cpp_quote("#define CDEF_BYPASS_CLASS_MANAGER 0x0002")
|
||||
//cpp_quote("#define CDEF_CLASS_LEGACY 0x0004")
|
||||
cpp_quote("#define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008")
|
||||
|
||||
// If any of these flags are set, then only the types specified
|
||||
// by the flags are enumerated
|
||||
cpp_quote("#define CDEF_DEVMON_CMGR_DEVICE 0x0010")
|
||||
cpp_quote("#define CDEF_DEVMON_DMO 0x0020")
|
||||
cpp_quote("#define CDEF_DEVMON_PNP_DEVICE 0x0040")
|
||||
cpp_quote("#define CDEF_DEVMON_FILTER 0x0080")
|
||||
cpp_quote("#define CDEF_DEVMON_SELECTIVE_MASK 0x00f0")
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(29840822-5B84-11D0-BD3B-00A0C911CE86),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface ICreateDevEnum : IUnknown
|
||||
{
|
||||
import "oaidl.idl";
|
||||
|
||||
HRESULT CreateClassEnumerator(
|
||||
[in] REFCLSID clsidDeviceClass,
|
||||
[out] IEnumMoniker ** ppEnumMoniker,
|
||||
[in] DWORD dwFlags);
|
||||
}
|
34
extern/include/DShowIDL/dmodshow.idl
vendored
@ -1,34 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DMODShow.idl
|
||||
//
|
||||
// Desc: This file will be processed by the MIDL tool to
|
||||
// produce dmodshow.h and proxy-stub code.
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl";
|
||||
import "mediaobj.idl";
|
||||
|
||||
// 94297043-bd82-4dfd-b0de-8177739c6d20
|
||||
cpp_quote("DEFINE_GUID(CLSID_DMOWrapperFilter, 0x94297043,0xbd82,0x4dfd,0xb0,0xde,0x81,0x77,0x73,0x9c,0x6d,0x20);")
|
||||
|
||||
// bcd5796c-bd52-4d30-ab76-70f975b89199
|
||||
cpp_quote("DEFINE_GUID(CLSID_DMOFilterCategory,0xbcd5796c,0xbd52,0x4d30,0xab,0x76,0x70,0xf9,0x75,0xb8,0x91,0x99);")
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(52d6f586-9f0f-4824-8fc8-e32ca04930c2),
|
||||
]
|
||||
interface IDMOWrapperFilter : IUnknown
|
||||
{
|
||||
// Init is passed in the clsid (so it can call CoCreateInstance)
|
||||
// and the catgory under which the DMO lives.
|
||||
// Note that catDMO can be CLSID_NULL, in which case no special
|
||||
// category-specific processing will be invoked in the wrapper filter.
|
||||
HRESULT Init(REFCLSID clsidDMO, REFCLSID catDMO);
|
||||
}
|
||||
|
59
extern/include/DShowIDL/dshowasf.idl
vendored
@ -1,59 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DShowASF.idl
|
||||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl";
|
||||
import "strmif.idl"; // for media type and time definitions
|
||||
import "wmsdkidl.idl";
|
||||
|
||||
cpp_quote( "EXTERN_GUID( IID_IConfigAsfWriter,0x45086030,0xF7E4,0x486a,0xB5,0x04,0x82,0x6B,0xB5,0x79,0x2A,0x3B );" )
|
||||
|
||||
interface IConfigAsfWriter;
|
||||
interface IWMProfile;
|
||||
|
||||
// Interface to control the ASF writer
|
||||
[
|
||||
object,
|
||||
uuid(45086030-F7E4-486a-B504-826BB5792A3B),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IConfigAsfWriter : IUnknown
|
||||
{
|
||||
//
|
||||
// The user is expected to enumerate profiles using the wmsdk IWMProfileManager
|
||||
// method and then pass the desired profile index to the ASF Writer filter via this
|
||||
// method. The filter will then try to configure itself for the selected profile.
|
||||
//
|
||||
// NOTE: These 2 XXXProfileId methods are now obsolete because they assume
|
||||
// version 4.0 WMSDK profiles. To configure the filter for later profile
|
||||
// versions using a profile index, use the XXXProfile methods which take
|
||||
// the IWMProfile* directly.
|
||||
//
|
||||
HRESULT ConfigureFilterUsingProfileId([in] DWORD dwProfileId);
|
||||
HRESULT GetCurrentProfileId([out] DWORD *pdwProfileId);
|
||||
|
||||
//
|
||||
// configure using a pre-defined wmsdk profile guid
|
||||
//
|
||||
HRESULT ConfigureFilterUsingProfileGuid([in] REFGUID guidProfile);
|
||||
HRESULT GetCurrentProfileGuid([out] GUID *pProfileGuid);
|
||||
|
||||
//
|
||||
// Use these methods when a custom profile setup is preferred
|
||||
//
|
||||
HRESULT ConfigureFilterUsingProfile([in] IWMProfile * pProfile);
|
||||
HRESULT GetCurrentProfile([out] IWMProfile **ppProfile);
|
||||
|
||||
//
|
||||
// allow app to control whether or not to index file
|
||||
//
|
||||
HRESULT SetIndexMode( [in] BOOL bIndexFile );
|
||||
HRESULT GetIndexMode( [out] BOOL *pbIndexFile );
|
||||
}
|
||||
|
2324
extern/include/DShowIDL/dvdif.idl
vendored
2322
extern/include/DShowIDL/dxtrans.idl
vendored
318
extern/include/DShowIDL/dyngraph.idl
vendored
@ -1,318 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: DynGraph.idl
|
||||
//
|
||||
// Desc: Dynamic graph interfaces
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
interface IPinConnection;
|
||||
interface IPinFlowControl;
|
||||
interface IGraphConfig;
|
||||
interface IGraphConfigCallback;
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
// IPinConnection - supported by input pins
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(4a9a62d3-27d4-403d-91e9-89f540e55534),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IPinConnection : IUnknown {
|
||||
|
||||
// Do you accept this type chane in your current state?
|
||||
HRESULT DynamicQueryAccept([in] const AM_MEDIA_TYPE *pmt);
|
||||
|
||||
// Set event when EndOfStream receive - do NOT pass it on
|
||||
// This condition is cancelled by a flush or Stop
|
||||
HRESULT NotifyEndOfStream([in] HANDLE hNotifyEvent);
|
||||
|
||||
// Are you an 'end pin'
|
||||
HRESULT IsEndPin();
|
||||
|
||||
HRESULT DynamicDisconnect();
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
// IPinFlowControl - supported by output pins
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(c56e9858-dbf3-4f6b-8119-384af2060deb),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IPinFlowControl : IUnknown {
|
||||
// Block processing on this pin
|
||||
HRESULT Block([in] DWORD dwBlockFlags, [in] HANDLE hEvent);
|
||||
}
|
||||
|
||||
// block flags
|
||||
enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
|
||||
AM_PIN_FLOW_CONTROL_BLOCK = 0x00000001, // 0 means unblock
|
||||
};
|
||||
|
||||
|
||||
// Reconnect flags
|
||||
typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
|
||||
AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x00000001,
|
||||
AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x00000002,
|
||||
AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x00000004
|
||||
} AM_GRAPH_CONFIG_RECONNECT_FLAGS;
|
||||
|
||||
// RemoveFilterEx flags
|
||||
enum _REM_FILTER_FLAGS {
|
||||
REMFILTERF_LEAVECONNECTED = 0x00000001
|
||||
};
|
||||
|
||||
typedef enum _AM_FILTER_FLAGS {
|
||||
AM_FILTER_FLAGS_REMOVABLE = 0x00000001
|
||||
} AM_FILTER_FLAGS;
|
||||
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
// IGraphConfig
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(03A1EB8E-32BF-4245-8502-114D08A9CB88),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGraphConfig : IUnknown {
|
||||
HRESULT Reconnect([in] IPin *pOutputPin,
|
||||
[in] IPin *pInputPin,
|
||||
[in] const AM_MEDIA_TYPE *pmtFirstConnection,
|
||||
[in] IBaseFilter *pUsingFilter, // can be NULL
|
||||
[in] HANDLE hAbortEvent,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT Reconfigure([in] IGraphConfigCallback *pCallback,
|
||||
[in] PVOID pvContext,
|
||||
[in] DWORD dwFlags,
|
||||
[in] HANDLE hAbortEvent);
|
||||
|
||||
|
||||
HRESULT AddFilterToCache([in] IBaseFilter *pFilter);
|
||||
HRESULT EnumCacheFilter([out] IEnumFilters **pEnum);
|
||||
HRESULT RemoveFilterFromCache([in]IBaseFilter *pFilter);
|
||||
|
||||
// Get the start time associated with the last Run() call
|
||||
// If the graph is not running returns VFW_E_WRONG_STATE
|
||||
HRESULT GetStartTime([out] REFERENCE_TIME *prtStart);
|
||||
|
||||
HRESULT PushThroughData(
|
||||
[in] IPin *pOutputPin,
|
||||
[in] IPinConnection *pConnection,
|
||||
[in] HANDLE hEventAbort);
|
||||
|
||||
HRESULT SetFilterFlags([in] IBaseFilter *pFilter, [in] DWORD dwFlags);
|
||||
HRESULT GetFilterFlags([in] IBaseFilter *pFilter, [out] DWORD *pdwFlags);
|
||||
|
||||
HRESULT RemoveFilterEx( [in] IBaseFilter *pFilter, DWORD Flags );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
//
|
||||
// IGraphConfigCallback
|
||||
//
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(ade0fd60-d19d-11d2-abf6-00a0c905f375),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IGraphConfigCallback : IUnknown
|
||||
{
|
||||
HRESULT Reconfigure(PVOID pvContext, DWORD dwFlags);
|
||||
}
|
||||
|
||||
// Filter Chain Definition
|
||||
//
|
||||
// Filter chains have the following properties:
|
||||
//
|
||||
// - Each filter chain has one or more filters.
|
||||
//
|
||||
// - Each filter in a filter chain has at most one connected input pin and one
|
||||
// connected output pin. For example, filters A, C, D, F, G, H, I, J and K
|
||||
// (see the diagram below) can be in a filter chain because each one has at
|
||||
// most one connected input pin and one connected output pin.
|
||||
//
|
||||
// - Any filter in a chain is reachable by any other filter in the chain.
|
||||
// For example, in the filter chain F-G-H, F can reach H by following the F-
|
||||
// G connection to G and then following the G-H connection to H. Filters F
|
||||
// and J cannot be in the same filter chain because J is not reachable from
|
||||
// F. Anotherwords, there no sequence of connected filters between F and J.
|
||||
//
|
||||
// - The start filter is the only filter in the filter chain who's input
|
||||
// pin is not connected to another filter in the chain. For instance, F is
|
||||
// the start filter in F-G-H because F's input pin is connected to E and E
|
||||
// is not in the filter chain. G's input pin is connected to F and H's is
|
||||
// connected to G. Both F and G are in the filter chain.
|
||||
//
|
||||
// - The end filter is the only filter in the filter chain who's output pin
|
||||
// is not connected to another filter in the chain. For example, in the
|
||||
// filter chain J-K, K is the end filter because K's output pin is
|
||||
// connected to L. J's output pin is connected to K and K is in the J-K
|
||||
// filter chain.
|
||||
//
|
||||
//
|
||||
// --->|---| |---|--->
|
||||
// | C |--->| D |
|
||||
// |---| |---|--->|---| |---|--->|---| |---| |---| |---|
|
||||
// | A |--->| B | | E |--->| F |--->| G |--->| H |
|
||||
// |---| |---|--->|---|------------>|---| |---| |---| |---|
|
||||
// | I |--->
|
||||
// --->|---|--->
|
||||
//
|
||||
// |---| |---| |---|
|
||||
// | J |--->| K |--->| L |
|
||||
// |---| |---| |---|
|
||||
//
|
||||
// Example Filter Graph
|
||||
//
|
||||
//
|
||||
//
|
||||
// IFilterChain Methods Documentation
|
||||
//
|
||||
// HRESULT StartChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
//
|
||||
// StartChain() switches all the filters in the chain into the running state
|
||||
// If one of the filters will not switch to the running state, then all the filters
|
||||
// in the chain are stopped. This method can only be called if the filter graph is
|
||||
// running.
|
||||
//
|
||||
// Parameters:
|
||||
// - pStartFilter [in]
|
||||
// The first filter in the filter chain. Note that this can be the same
|
||||
// filter as pEndFilter .
|
||||
//
|
||||
// - pEndFilter [in]
|
||||
// The last filter in the filter chain. Note that this can be the same
|
||||
// filter as pStartFilter. If pEndFilter is NULL then the filter chain extends
|
||||
// from pStartFilter to the last downstream filter which can be in a filter chain.
|
||||
// For example, IFilterChain::StartChain( A, NULL ) would start filter A.
|
||||
// IFilterChain::StartChain( G, NULL ) would start filters G and H.
|
||||
// IFilterChain::StartChain( C, NULL ) would start filters C and D. Finally,
|
||||
// IFilterChain::StartChain( E, NULL ) would fail because E cannot be in a
|
||||
// filter chain (see the Filter Chain Definition section for more information).
|
||||
//
|
||||
// Return Value:
|
||||
// An HRESULT. See the Direct Show SDK and COM SDK documentation for more
|
||||
// information on interpreting HRESULTs.
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// HRESULT PauseChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
//
|
||||
// PauseChain() switches all the filters in a chain to the paused state. If it cannot
|
||||
// switch one of the filtres into the paused state, all the filters in the chain are
|
||||
// stopped. This method can only be called if the filter graph is paused.
|
||||
//
|
||||
// Parameters:
|
||||
// - pStartFilter [in]
|
||||
// The first filter in the filter chain. Note that this can be the same
|
||||
// filter as pEndFilter .
|
||||
//
|
||||
// - pEndFilter [in]
|
||||
// The last filter in the filter chain. Note that this can be the same
|
||||
// filter as pStartFilter. If pEndFilter is NULL then the filter chain extends
|
||||
// from pStartFilter to the last downstream filter which can be in a filter chain.
|
||||
// For example, IFilterChain::StopChain( A, NULL ) would stop filter A.
|
||||
// IFilterChain::StopChain( G, NULL ) would stop filters G and H.
|
||||
// IFilterChain::StopChain( C, NULL ) would stop filters C and D. Finally,
|
||||
// IFilterChain::StopChain( E, NULL ) would fail because E cannot be in a filter
|
||||
// chain (see the Filter Chain Definition section for more information).
|
||||
//
|
||||
//
|
||||
// Return Value:
|
||||
// An HRESULT. See the Direct Show SDK and COM SDK documentation for more
|
||||
// information on interpreting HRESULTs.
|
||||
//
|
||||
//
|
||||
//
|
||||
// HRESULT StopChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
//
|
||||
// StopChain() switches all the filters in chain to the stopped state.
|
||||
//
|
||||
// Parameters:
|
||||
// - pStartFilter [in]
|
||||
// The first filter in the filter chain. Note that this can be the same
|
||||
// filter as pEndFilter .
|
||||
//
|
||||
// - pEndFilter [in]
|
||||
// The last filter in the filter chain. Note that this can be the same
|
||||
// filter as pStartFilter. If pEndFilter is NULL then the filter chain extends
|
||||
// from pStartFilter to the last downstream filter which can be in a filter chain.
|
||||
// For example, IFilterChain::StopChain( A, NULL ) would stop filter A.
|
||||
// IFilterChain::StopChain( G, NULL ) would stop filters G and H.
|
||||
// IFilterChain::StopChain( C, NULL ) would stop filters C and D. Finally,
|
||||
// IFilterChain::StopChain( E, NULL ) would fail because E cannot be in a filter
|
||||
// chain (see the Filter Chain Definition section for more information).
|
||||
//
|
||||
//
|
||||
// Return Value:
|
||||
// An HRESULT. See the Direct Show SDK and COM SDK documentation for more
|
||||
// information on interpreting HRESULTs.
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// HRESULT RemoveChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
//
|
||||
// RemoveChain() removes every filter in a chain from the filter graph.
|
||||
// The filters can be removed while the graph is running.
|
||||
//
|
||||
// Parameters:
|
||||
// - pStartFilter [in]
|
||||
// The first filter in the filter chain. Note that this can be the same
|
||||
// filter as pEndFilter .
|
||||
//
|
||||
// - pEndFilter [in]
|
||||
// The last filter in the filter chain. Note that this can be the same
|
||||
// filter as pStartFilter. If pEndFilter is NULL then the filter chain
|
||||
// extends from pStartFilter to the last downstream filter which can be in a
|
||||
// filter chain. For example, IFilterChain::RemoveChain( A, NULL ) would remove
|
||||
// filter A from the filter graph. IFilterChain::RemoveChain( G, NULL ) would
|
||||
// remove filters G and H. IFilterChain::RemoveChain( C, NULL ) would remove
|
||||
// filters C and D. Finally, IFilterChain::RemoveChain( E, NULL ) would fail
|
||||
// because E cannot be in a filter chain (see the Filter Chain Definition
|
||||
// section for more information).
|
||||
//
|
||||
//
|
||||
// Return Value:
|
||||
// An HRESULT. See the Direct Show SDK and COM SDK documentation for more
|
||||
// information on interpreting HRESULTs.
|
||||
//
|
||||
//
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IFilterChain : IUnknown
|
||||
{
|
||||
HRESULT StartChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
HRESULT PauseChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
HRESULT StopChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
HRESULT RemoveChain( [in] IBaseFilter *pStartFilter, [in] IBaseFilter *pEndFilter );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
144
extern/include/DShowIDL/iamovie.idl
vendored
@ -1,144 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: IAMovie.idl
|
||||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(359ace10-7688-11cf-8b23-00805f6cef60),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMovie : IFilterGraph
|
||||
{
|
||||
// IGraphBuilder
|
||||
// Connect these two pins directly or indirectly, using transform filters
|
||||
// if necessary.
|
||||
|
||||
HRESULT Connect
|
||||
( [in] IPin * ppinOut, // the output pin
|
||||
[in] IPin * ppinIn // the input pin
|
||||
);
|
||||
|
||||
|
||||
// Connect this output pin directly or indirectly, using transform filters
|
||||
// if necessary to something that will render it.
|
||||
|
||||
HRESULT Render
|
||||
( [in] IPin * ppinOut // the output pin
|
||||
);
|
||||
|
||||
|
||||
// IMediaControl methods
|
||||
HRESULT Run();
|
||||
HRESULT Pause();
|
||||
HRESULT Stop();
|
||||
|
||||
//returns the state. same semantics as IMediaFilter::GetState
|
||||
|
||||
HRESULT GetState(
|
||||
[in] LONG msTimeout,
|
||||
[out] FILTER_STATE* pfs);
|
||||
|
||||
// adds and connects filters needed to play the specified file
|
||||
HRESULT RenderFile(
|
||||
[in] LPCWSTR strFilename);
|
||||
|
||||
// adds to the graph the source filter that can read this file,
|
||||
// and returns an IFilterInfo object for it
|
||||
HRESULT AddSourceFilter(
|
||||
[in] LPCWSTR strFilename,
|
||||
[out] IBaseFilter ** ppUnk);
|
||||
|
||||
// get back the event handle. This is manual-reset
|
||||
// (don't - it's reset by the event mechanism) and remains set
|
||||
// when events are queued, and reset when the queue is empty.
|
||||
HRESULT GetEventHandle(
|
||||
[out] HEVENT * hEvent);
|
||||
|
||||
// remove the next event notification from the head of the queue and
|
||||
// return it. Waits up to msTimeout millisecs if there are no events.
|
||||
// if a timeout occurs without any events, this method will return
|
||||
// E_ABORT, and the value of the event code and other parameters
|
||||
// is undefined.
|
||||
HRESULT GetEvent(
|
||||
[out] long * lEventCode,
|
||||
[out] long * lParam1,
|
||||
[out] long * lParam2,
|
||||
[in] long msTimeout
|
||||
);
|
||||
|
||||
// Calls GetEvent repeatedly discarding events until it finds a
|
||||
// completion event (EC_COMPLETE, EC_ERRORABORT, or EC_USERABORT).
|
||||
// The completion event is removed from the queue and returned
|
||||
// in pEvCode. Note that the object is still in running mode until
|
||||
// a Pause or Stop call is made.
|
||||
// If the timeout occurs, *pEvCode will be 0 and E_ABORT will be
|
||||
// returned.
|
||||
HRESULT WaitForCompletion(
|
||||
[in] long msTimeout,
|
||||
[out] long * pEvCode);
|
||||
|
||||
// cancels any system handling of the specified event code
|
||||
// and ensures that the events are passed straight to the application
|
||||
// (via GetEvent) and not handled. A good example of this is
|
||||
// EC_REPAINT: default handling for this ensures the painting of the
|
||||
// window and does not get posted to the app.
|
||||
HRESULT CancelDefaultHandling(
|
||||
[in] long lEvCode);
|
||||
|
||||
// restore the normal system default handling that may have been
|
||||
// cancelled by CancelDefaultHandling().
|
||||
HRESULT RestoreDefaultHandling( [in] long lEvCode);
|
||||
|
||||
// properties
|
||||
HRESULT get_Duration(
|
||||
[out] REFTIME* plength);
|
||||
|
||||
HRESULT put_CurrentPosition(
|
||||
[in] REFTIME llTime);
|
||||
|
||||
HRESULT get_CurrentPosition(
|
||||
[out] REFTIME* pllTime);
|
||||
|
||||
HRESULT get_StopTime(
|
||||
[out] REFTIME* pllTime);
|
||||
|
||||
HRESULT put_StopTime(
|
||||
[in] REFTIME llTime);
|
||||
|
||||
HRESULT get_PrerollTime(
|
||||
[out] REFTIME* pllTime);
|
||||
HRESULT put_PrerollTime(
|
||||
[in] REFTIME llTime);
|
||||
|
||||
HRESULT put_Rate(
|
||||
[in] double dRate);
|
||||
HRESULT get_Rate(
|
||||
[out] double * pdRate);
|
||||
|
||||
/* New methods */
|
||||
HRESULT RemoveAllFilters();
|
||||
HRESULT Play();
|
||||
HRESULT PlayFile([in] LPCWSTR strFilename);
|
||||
HRESULT EnumFiltersByInterface( [in] REFIID riid, [out] IEnumFilters ** ppEnum );
|
||||
HRESULT EnumPins( [out] IEnumPins ** ppEnum );
|
||||
HRESULT EnumPinsIn( [out] IEnumPins ** ppEnum );
|
||||
HRESULT EnumPinsOut( [out] IEnumPins ** ppEnum );
|
||||
HRESULT RenderAll();
|
||||
HRESULT RenderNewFile( [in] LPCWSTR strFilename);
|
||||
|
||||
// Free any resources associated with the parameters to an event.
|
||||
// Event parameters may be LONGs, IUnknown* or BSTR. No action
|
||||
// is taken with LONGs. IUnknown are passed addrefed and need a
|
||||
// Release call. BSTR are allocated by the task allocator and will be
|
||||
// freed by calling the task allocator.
|
||||
HRESULT FreeEventParams(
|
||||
[in] long lEvCode,
|
||||
[in] long lParam1,
|
||||
[in] long lParam2);
|
||||
}
|
||||
|
411
extern/include/DShowIDL/mediaobj.idl
vendored
@ -1,411 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: MediaObj.idl
|
||||
//
|
||||
// Desc: Define the interfaces for DirectX Media Objects. This file will be
|
||||
// processed by the MIDL tool to produce mediaobj.h and proxy-stub code.
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl";
|
||||
|
||||
// DMO_MEDIA_TYPE structure
|
||||
|
||||
cpp_quote("#ifdef __strmif_h__")
|
||||
cpp_quote("typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;")
|
||||
cpp_quote("#else")
|
||||
typedef struct _DMOMediaType {
|
||||
GUID majortype;
|
||||
GUID subtype;
|
||||
BOOL bFixedSizeSamples;
|
||||
BOOL bTemporalCompression;
|
||||
ULONG lSampleSize;
|
||||
GUID formattype;
|
||||
IUnknown *pUnk;
|
||||
ULONG cbFormat;
|
||||
[size_is(cbFormat)] BYTE * pbFormat;
|
||||
} DMO_MEDIA_TYPE;
|
||||
typedef LONGLONG REFERENCE_TIME;
|
||||
cpp_quote("#endif")
|
||||
|
||||
|
||||
// Per-buffer flags that apply to input buffers
|
||||
enum _DMO_INPUT_DATA_BUFFER_FLAGS {
|
||||
DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x00000001,
|
||||
DMO_INPUT_DATA_BUFFERF_TIME = 0x00000002,
|
||||
DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x00000004
|
||||
};
|
||||
|
||||
// Per-buffer flags that apply to output buffers.
|
||||
enum _DMO_OUTPUT_DATA_BUFFER_FLAGS {
|
||||
DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x00000001,
|
||||
DMO_OUTPUT_DATA_BUFFERF_TIME = 0x00000002,
|
||||
DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x00000004,
|
||||
|
||||
//
|
||||
// This flag means the object could have generated more data for this
|
||||
// output stream, even with no additional input from any input stream,
|
||||
// but the output buffer did not have sufficient room.
|
||||
//
|
||||
DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x01000000
|
||||
};
|
||||
|
||||
// Flags returned by GetInputStatus()
|
||||
enum _DMO_INPUT_STATUS_FLAGS {
|
||||
//
|
||||
// ACCEPT_DATA indicates that the input stream is ready to accept
|
||||
// new data via ProcessInput().
|
||||
//
|
||||
DMO_INPUT_STATUSF_ACCEPT_DATA = 0x00000001
|
||||
};
|
||||
|
||||
// Flags returned by GetInputStreamInfo()
|
||||
enum _DMO_INPUT_STREAM_INFO_FLAGS {
|
||||
DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x00000001,
|
||||
DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x00000002,
|
||||
DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x00000004,
|
||||
DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x00000008
|
||||
};
|
||||
|
||||
// Flags returned by GetOutputStreamInfo()
|
||||
enum _DMO_OUTPUT_STREAM_INFO_FLAGS {
|
||||
DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x00000001,
|
||||
DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x00000002,
|
||||
DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x00000004,
|
||||
DMO_OUTPUT_STREAMF_DISCARDABLE = 0x00000008,
|
||||
DMO_OUTPUT_STREAMF_OPTIONAL = 0x00000010
|
||||
};
|
||||
|
||||
// SetType flags
|
||||
enum _DMO_SET_TYPE_FLAGS {
|
||||
DMO_SET_TYPEF_TEST_ONLY = 0x00000001,// check but don't set
|
||||
DMO_SET_TYPEF_CLEAR = 0x00000002 // unset
|
||||
};
|
||||
|
||||
// Process Output Flags
|
||||
enum _DMO_PROCESS_OUTPUT_FLAGS {
|
||||
DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x00000001 // Discard
|
||||
};
|
||||
|
||||
// Buffer wrapper interface
|
||||
[
|
||||
object,
|
||||
uuid(59eff8b9-938c-4a26-82f2-95cb84cdc837)
|
||||
]
|
||||
interface IMediaBuffer : IUnknown
|
||||
{
|
||||
HRESULT SetLength(
|
||||
DWORD cbLength
|
||||
);
|
||||
HRESULT GetMaxLength(
|
||||
[out] DWORD *pcbMaxLength
|
||||
);
|
||||
HRESULT GetBufferAndLength(
|
||||
[out] BYTE **ppBuffer, // not filled if NULL
|
||||
[out] DWORD *pcbLength // not filled if NULL
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Output buffer info structure: one of these must be passed in for each
|
||||
// output stream with every ProcessOutput() call
|
||||
// All [out] fields should be
|
||||
// assumed undefined if ProcessOutput() failed
|
||||
//
|
||||
typedef struct _DMO_OUTPUT_DATA_BUFFER {
|
||||
|
||||
IMediaBuffer *pBuffer; // [in] can be NULL
|
||||
|
||||
// ProcessOutput() must set any appropriate flags and zero out the rest.
|
||||
DWORD dwStatus; // [out] DMO_OUTPUT_DATA_BUFFERF_XXX (INCOMPLETE, etc.)
|
||||
|
||||
//
|
||||
// Each of these is valid if the corresponding flag is set in dwStatus
|
||||
//
|
||||
REFERENCE_TIME rtTimestamp; // [out]
|
||||
REFERENCE_TIME rtTimelength; // [out]
|
||||
} DMO_OUTPUT_DATA_BUFFER, *PDMO_OUTPUT_DATA_BUFFER;
|
||||
|
||||
|
||||
// Interface supported by media objects
|
||||
[
|
||||
object,
|
||||
uuid(d8ad0f58-5494-4102-97c5-ec798e59bcf4)
|
||||
]
|
||||
interface IMediaObject : IUnknown
|
||||
{
|
||||
|
||||
//
|
||||
// Stream enumeration
|
||||
//
|
||||
HRESULT GetStreamCount(
|
||||
[out] DWORD *pcInputStreams,
|
||||
[out] DWORD *pcOutputStreams
|
||||
);
|
||||
HRESULT GetInputStreamInfo(
|
||||
DWORD dwInputStreamIndex, // 0-based
|
||||
[out] DWORD *pdwFlags // HOLDS_BUFFERS
|
||||
);
|
||||
HRESULT GetOutputStreamInfo(
|
||||
DWORD dwOutputStreamIndex, // 0-based
|
||||
[out] DWORD *pdwFlags // Media object sets to 0
|
||||
);
|
||||
|
||||
//
|
||||
// Mediatypes
|
||||
//
|
||||
//
|
||||
// GetType - iterate through media types supported by a stream.
|
||||
// Returns S_FALSE if the type index is out of range ("no more types").
|
||||
//
|
||||
HRESULT GetInputType(
|
||||
DWORD dwInputStreamIndex,
|
||||
DWORD dwTypeIndex, // 0-based
|
||||
[out] DMO_MEDIA_TYPE *pmt
|
||||
);
|
||||
HRESULT GetOutputType(
|
||||
DWORD dwOutputStreamIndex,
|
||||
DWORD dwTypeIndex, // 0-based
|
||||
[out] DMO_MEDIA_TYPE *pmt
|
||||
);
|
||||
|
||||
//
|
||||
// SetType - tell the object the type of data it will work with.
|
||||
//
|
||||
HRESULT SetInputType(
|
||||
DWORD dwInputStreamIndex,
|
||||
[in] const DMO_MEDIA_TYPE *pmt,
|
||||
DWORD dwFlags // test only
|
||||
);
|
||||
HRESULT SetOutputType(
|
||||
DWORD dwOutputStreamIndex,
|
||||
[in] const DMO_MEDIA_TYPE *pmt,
|
||||
DWORD dwFlags // test only
|
||||
);
|
||||
|
||||
//
|
||||
// GetCurrentType - get the last mediatype supplied via SetType.
|
||||
// Returns S_FALSE if SetType has not been called.
|
||||
//
|
||||
HRESULT GetInputCurrentType(
|
||||
DWORD dwInputStreamIndex,
|
||||
[out] DMO_MEDIA_TYPE *pmt
|
||||
);
|
||||
HRESULT GetOutputCurrentType(
|
||||
DWORD dwOutputStreamIndex,
|
||||
[out] DMO_MEDIA_TYPE *pmt
|
||||
);
|
||||
|
||||
//
|
||||
// SizeInfo
|
||||
//
|
||||
//
|
||||
// GetSizeInfo - Get buffer size requirementes of a stream.
|
||||
//
|
||||
// If buffer size depends on the media type used, the object should
|
||||
// base its response on the most recent media type set for this stream.
|
||||
// If no mediatype has been set, the object may return an error.
|
||||
//
|
||||
HRESULT GetInputSizeInfo(
|
||||
DWORD dwInputStreamIndex,
|
||||
[out] DWORD *pcbSize, // size of input 'quantum'
|
||||
[out] DWORD *pcbMaxLookahead, // max total bytes held
|
||||
[out] DWORD *pcbAlignment // buffer alignment requirement
|
||||
);
|
||||
HRESULT GetOutputSizeInfo(
|
||||
DWORD dwOutputStreamIndex,
|
||||
[out] DWORD *pcbSize, // size of output 'quantum'
|
||||
[out] DWORD *pcbAlignment // buffer alignment requirement
|
||||
);
|
||||
|
||||
//
|
||||
// Latency methods
|
||||
//
|
||||
HRESULT GetInputMaxLatency(
|
||||
DWORD dwInputStreamIndex,
|
||||
[out] REFERENCE_TIME *prtMaxLatency
|
||||
);
|
||||
HRESULT SetInputMaxLatency(
|
||||
DWORD dwInputStreamIndex,
|
||||
REFERENCE_TIME rtMaxLatency
|
||||
);
|
||||
|
||||
//
|
||||
// Streaming / state methods
|
||||
//
|
||||
//
|
||||
// Flush() - discard any buffered data.
|
||||
//
|
||||
HRESULT Flush();
|
||||
|
||||
//
|
||||
// Send a discontinuity to an input stream. The object will not
|
||||
// accept any more data on this input stream until the discontinuity
|
||||
// has been completely processed, which may involve multiple
|
||||
// ProcessOutput() calls.
|
||||
//
|
||||
HRESULT Discontinuity(DWORD dwInputStreamIndex);
|
||||
|
||||
//
|
||||
// If a streaming object needs to perform any time consuming
|
||||
// initialization before it can stream data, it should do it inside
|
||||
// AllocateStreamingResources() rather than during the first process
|
||||
// call.
|
||||
//
|
||||
// This method is NOT guaranteed to be called before streaming
|
||||
// starts. If it is not called, the object should perform any
|
||||
// required initialization during a process call.
|
||||
//
|
||||
HRESULT AllocateStreamingResources();
|
||||
|
||||
// Free anything allocated in AllocateStreamingResources().
|
||||
HRESULT FreeStreamingResources();
|
||||
|
||||
// GetInputStatus - the only flag defined right now is ACCEPT_DATA.
|
||||
HRESULT GetInputStatus(
|
||||
DWORD dwInputStreamIndex,
|
||||
[out] DWORD *dwFlags // ACCEPT_DATA
|
||||
);
|
||||
|
||||
//
|
||||
// Pass one new buffer to an input stream
|
||||
//
|
||||
HRESULT ProcessInput(
|
||||
DWORD dwInputStreamIndex,
|
||||
IMediaBuffer *pBuffer, // must not be NULL
|
||||
DWORD dwFlags, // DMO_INPUT_DATA_BUFFERF_XXX (syncpoint, etc.)
|
||||
REFERENCE_TIME rtTimestamp, // valid if flag set
|
||||
REFERENCE_TIME rtTimelength // valid if flag set
|
||||
);
|
||||
|
||||
//
|
||||
// ProcessOutput() - generate output for current input buffers
|
||||
//
|
||||
// Output stream specific status information is returned in the
|
||||
// dwStatus member of each buffer wrapper structure.
|
||||
//
|
||||
HRESULT ProcessOutput(
|
||||
DWORD dwFlags, // DMO_PROCESS_OUTPUT_FLAGS
|
||||
DWORD cOutputBufferCount, // # returned by GetStreamCount()
|
||||
[in,out,size_is(cOutputBufferCount)]
|
||||
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, // one per stream
|
||||
[out] DWORD *pdwStatus // TBD, must be set to 0
|
||||
);
|
||||
|
||||
// Locking - lock if bLock is TRUE, otherwise unlock
|
||||
HRESULT Lock(LONG bLock);
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Interface returned by the DMO enumeration API
|
||||
//
|
||||
[
|
||||
object,
|
||||
uuid(2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f)
|
||||
]
|
||||
interface IEnumDMO : IUnknown {
|
||||
HRESULT Next(
|
||||
DWORD cItemsToFetch,
|
||||
[out, size_is(cItemsToFetch), length_is(*pcItemsFetched)] CLSID *pCLSID,
|
||||
[out, size_is(cItemsToFetch), length_is(*pcItemsFetched), string] WCHAR **Names,
|
||||
[out] DWORD *pcItemsFetched
|
||||
);
|
||||
HRESULT Skip(
|
||||
DWORD cItemsToSkip
|
||||
);
|
||||
HRESULT Reset(void);
|
||||
HRESULT Clone(
|
||||
[out] IEnumDMO **ppEnum
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Flags for IMediaObjectInPlace::Process
|
||||
enum _DMO_INPLACE_PROCESS_FLAGS {
|
||||
DMO_INPLACE_NORMAL = 0x00000000,
|
||||
DMO_INPLACE_ZERO = 0x00000001
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(651b9ad0-0fc7-4aa9-9538-d89931010741)
|
||||
]
|
||||
interface IMediaObjectInPlace : IUnknown {
|
||||
|
||||
// Proces - Given a buffer of size ulSize, put the output
|
||||
// of the DMO into the same buffer.
|
||||
HRESULT Process(
|
||||
[in] ULONG ulSize,
|
||||
[in,out,size_is(ulSize)] BYTE* pData,
|
||||
[in] REFERENCE_TIME refTimeStart,
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
|
||||
// Create a copy of the In-Place Media Object. This allows
|
||||
// for very fast initialization of a number of In-Place objects
|
||||
// in a known state.
|
||||
HRESULT Clone(
|
||||
[out] IMediaObjectInPlace **ppMediaObject
|
||||
);
|
||||
|
||||
// GetLatency - Returns a REFERENCE_TIME value
|
||||
// (1 tick = 100ns) which corresponds to the latency time
|
||||
// processing this effect will add to the graph. This assumes
|
||||
// the effect cost per buffer is a constant.
|
||||
HRESULT GetLatency(
|
||||
[out] REFERENCE_TIME *pLatencyTime
|
||||
);
|
||||
}
|
||||
|
||||
// Quality control status flags
|
||||
enum _DMO_QUALITY_STATUS_FLAGS {
|
||||
DMO_QUALITY_STATUS_ENABLED = 0x00000001
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(65abea96-cf36-453f-af8a-705e98f16260)
|
||||
]
|
||||
interface IDMOQualityControl : IUnknown {
|
||||
HRESULT SetNow(
|
||||
[in] REFERENCE_TIME rtNow
|
||||
);
|
||||
HRESULT SetStatus(
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
HRESULT GetStatus(
|
||||
[out] DWORD *pdwFlags
|
||||
);
|
||||
}
|
||||
|
||||
// Flags for IVideoOutputOptimizations
|
||||
enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS {
|
||||
DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x00000001
|
||||
};
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(be8f4f4e-5b16-4d29-b350-7f6b5d9298ac)
|
||||
]
|
||||
interface IDMOVideoOutputOptimizations : IUnknown {
|
||||
HRESULT QueryOperationModePreferences (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwRequestedCapabilities
|
||||
);
|
||||
HRESULT SetOperationMode (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD dwEnabledFeatures
|
||||
);
|
||||
HRESULT GetCurrentOperationMode (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwEnabledFeatures
|
||||
);
|
||||
HRESULT GetCurrentSampleRequirements (
|
||||
ULONG ulOutputStreamIndex,
|
||||
DWORD *pdwRequestedFeatures
|
||||
);
|
||||
}
|
||||
|
228
extern/include/DShowIDL/medparam.idl
vendored
@ -1,228 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: MedParam.idl
|
||||
//
|
||||
// Desc: Definition of the IMediaParams and associated interfaces. These
|
||||
// interfaces are designed to allow communication of curve-following
|
||||
// behaviors for parameters of objects which require dynamic changes
|
||||
// to their parameters at run time. All changes are specified by
|
||||
// timestamp and curve type to ensure the parameters can be set
|
||||
// at sufficient accuracy with predictable behavior on subsequent
|
||||
// playback of the same curves.
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
import "strmif.idl";
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Define the semantic type to be used for each parameter. All values passed
|
||||
// into this interface are 32-bit floats, but the interface can specify that
|
||||
// the values must be integer, booleans, or enumerated types
|
||||
//------------------------------------------------------------------------------
|
||||
typedef float MP_DATA; // All data is 32-bit floats
|
||||
|
||||
typedef enum _MP_Type {
|
||||
MPT_INT, // data is signed 23 bit integer (mantissa)
|
||||
MPT_FLOAT, // data is 32bit IEEE float
|
||||
MPT_BOOL, // data is true or false (using ANSI C++ definition)
|
||||
MPT_ENUM, // data is a set (represented by consecutive integers)
|
||||
MPT_MAX,
|
||||
} MP_TYPE;
|
||||
|
||||
const MP_DATA MPBOOL_TRUE = 1.0; // Value of true
|
||||
const MP_DATA MPBOOL_FALSE = 0.0; // Value of false
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Define the types of curves which are supported
|
||||
//------------------------------------------------------------------------------
|
||||
typedef enum _MP_CURVE_TYPE {
|
||||
MP_CURVE_JUMP = 0x0001, // No interpolation, just jump to next point
|
||||
MP_CURVE_LINEAR = 0x0002, // Linear interpolation (y follows x from 0.0 to 1.0)
|
||||
MP_CURVE_SQUARE = 0x0004, // y follow x^2 from 0.0 to 1.0
|
||||
MP_CURVE_INVSQUARE = 0x0008, // y follows 1-(x^2) from 0.0 to 1.0
|
||||
MP_CURVE_SINE = 0x0010, // y follows sin(x) from -pi/2 to pi/2
|
||||
} MP_CURVE_TYPE;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Capability bits. Used by the object to specify what capabilities it has.
|
||||
//------------------------------------------------------------------------------
|
||||
typedef DWORD MP_CAPS;
|
||||
// Curve capabilities - If the cap bit is set, that type of curve is supported
|
||||
const MP_CAPS MP_CAPS_CURVE_JUMP = MP_CURVE_JUMP;
|
||||
const MP_CAPS MP_CAPS_CURVE_LINEAR = MP_CURVE_LINEAR;
|
||||
const MP_CAPS MP_CAPS_CURVE_SQUARE = MP_CURVE_SQUARE;
|
||||
const MP_CAPS MP_CAPS_CURVE_INVSQUARE = MP_CURVE_INVSQUARE;
|
||||
const MP_CAPS MP_CAPS_CURVE_SINE = MP_CURVE_SINE;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Structure used to return information about the type and limits of a parameter
|
||||
//------------------------------------------------------------------------------
|
||||
typedef struct _MP_PARAMINFO {
|
||||
MP_TYPE mpType; // One of MP_TYPE_xxx codes
|
||||
MP_CAPS mopCaps; // A collection of MP_CAPS flags
|
||||
|
||||
// Minimum and maximum values
|
||||
MP_DATA mpdMinValue; // minimum legal value
|
||||
MP_DATA mpdMaxValue; // maximum legal value
|
||||
MP_DATA mpdNeutralValue; // default or 'center' value
|
||||
|
||||
// Defualt Unit and Label text. These strings will ALWAYS be English
|
||||
// strings in the UNICODE character set. For international text
|
||||
// use the GetParamText member function
|
||||
WCHAR szUnitText[32]; // units of the parameter
|
||||
WCHAR szLabel[32]; // name of the parameter
|
||||
|
||||
} MP_PARAMINFO;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Parameter Index types
|
||||
//------------------------------------------------------------------------------
|
||||
typedef DWORD DWORD;
|
||||
const DWORD DWORD_ALLPARAMS = -1; // Apply this operation to all params
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Defined list of timestamp types
|
||||
//------------------------------------------------------------------------------
|
||||
typedef DWORD MP_TIMEDATA; // Extra data to further define type
|
||||
|
||||
// REFERENCE_TIME (1 tick = 100 nanoseconds, MP_TIMEDATA ignored)
|
||||
cpp_quote("DEFINE_GUID(GUID_TIME_REFERENCE,")
|
||||
cpp_quote("0x93ad712b, 0xdaa0, 0x4ffe, 0xbc, 0x81, 0xb0, 0xce, 0x50, 0xf, 0xcd, 0xd9);")
|
||||
|
||||
// Music Time (MP_TIMEDATA = parts/quarter note)
|
||||
cpp_quote("DEFINE_GUID(GUID_TIME_MUSIC,")
|
||||
cpp_quote("0x574c49d, 0x5b04, 0x4b15, 0xa5, 0x42, 0xae, 0x28, 0x20, 0x30, 0x11, 0x7b);")
|
||||
|
||||
// Time is measures in samples. MP_TIMEDATA = Samples/sec)
|
||||
cpp_quote("DEFINE_GUID(GUID_TIME_SAMPLES,")
|
||||
cpp_quote("0xa8593d05, 0xc43, 0x4984, 0x9a, 0x63, 0x97, 0xaf, 0x9e, 0x2, 0xc4, 0xc0);")
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// The value of a given parameter at a specific point in time
|
||||
//------------------------------------------------------------------------------
|
||||
typedef DWORD MP_FLAGS;
|
||||
const MP_FLAGS MPF_ENVLP_STANDARD = 0x0000; // Use all data provided
|
||||
const MP_FLAGS MPF_ENVLP_BEGIN_CURRENTVAL = 0x0001;
|
||||
// Ignore valStart value, use current value as the staring point
|
||||
const MP_FLAGS MPF_ENVLP_BEGIN_NEUTRALVAL = 0x0002;
|
||||
// Ignore valStart value, use neutral value as the staring point
|
||||
|
||||
typedef struct _MP_ENVELOPE_SEGMENT {
|
||||
REFERENCE_TIME rtStart; // Start time in current time format
|
||||
REFERENCE_TIME rtEnd; // End time in current time format
|
||||
MP_DATA valStart; // Initial Value
|
||||
MP_DATA valEnd; // Final Value
|
||||
MP_CURVE_TYPE iCurve; // One of MP_CURVE_TYPE codes
|
||||
MP_FLAGS flags; // Special cases
|
||||
} MP_ENVELOPE_SEGMENT;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Define flags for Punch-in timing
|
||||
//------------------------------------------------------------------------------
|
||||
const MP_FLAGS MPF_PUNCHIN_REFTIME = 0; // Use the reference time as the PI time
|
||||
const MP_FLAGS MPF_PUNCHIN_NOW = 0x0001; // Punch in at the current clock time
|
||||
const MP_FLAGS MPF_PUNCHIN_STOPPED = 0x0002; // Return change notifications during
|
||||
// author time
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// IMediaParamInfo - Interface used to determine the names, data types and
|
||||
// units of the parameters which are exposed by the object. This interface
|
||||
// is used at discovery time, and is not required during run-time since the
|
||||
// objects parameters are a fixed set and this data can be cached by the
|
||||
// calling applicaiton.
|
||||
//------------------------------------------------------------------------------
|
||||
[
|
||||
object,
|
||||
uuid(6d6cbb60-a223-44aa-842f-a2f06750be6d),
|
||||
version(1.0)
|
||||
]
|
||||
interface IMediaParamInfo : IUnknown
|
||||
{
|
||||
HRESULT GetParamCount (
|
||||
[out] DWORD * pdwParams
|
||||
);
|
||||
HRESULT GetParamInfo (
|
||||
[in] DWORD dwParamIndex,
|
||||
[out] MP_PARAMINFO * pInfo
|
||||
);
|
||||
// returns a series of null terminated strings. strings are in the
|
||||
// following order:
|
||||
// Param Label, Units Text, 1st Enum Text, 2nd Enum Text, etc...
|
||||
HRESULT GetParamText (
|
||||
[in] DWORD dwParamIndex, // which param to get text for
|
||||
[out] WCHAR **ppwchText // returns ptr to CoTaskMemAlloc'd string
|
||||
);
|
||||
|
||||
// Returns the number of diffrent time formats this object understands
|
||||
HRESULT GetNumTimeFormats (
|
||||
[out] DWORD * pdwNumTimeFormats
|
||||
);
|
||||
|
||||
// Returns the GUID for the ith supported time format
|
||||
HRESULT GetSupportedTimeFormat(
|
||||
[in] DWORD dwFormatIndex,
|
||||
[out] GUID *pguidTimeFormat
|
||||
);
|
||||
|
||||
// Returns the current time format
|
||||
HRESULT GetCurrentTimeFormat (
|
||||
[out] GUID *pguidTimeFormat,
|
||||
[out] MP_TIMEDATA *pTimeData
|
||||
);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// IMediaParams - Interfaes used to actually set the media params and the
|
||||
// envelopes to follow
|
||||
//------------------------------------------------------------------------------
|
||||
[
|
||||
object,
|
||||
uuid(6d6cbb61-a223-44aa-842f-a2f06750be6e),
|
||||
version(1.0)
|
||||
]
|
||||
interface IMediaParams : IUnknown
|
||||
{
|
||||
// Single param Get/Set methods
|
||||
HRESULT GetParam (
|
||||
[in] DWORD dwParamIndex,
|
||||
[out] MP_DATA *pValue
|
||||
);
|
||||
HRESULT SetParam (
|
||||
[in] DWORD dwParamIndex,
|
||||
[in] MP_DATA value
|
||||
);
|
||||
|
||||
// Envelope methods (param change over time)
|
||||
HRESULT AddEnvelope (
|
||||
[in] DWORD dwParamIndex,
|
||||
[in] DWORD cSegments,
|
||||
[in] MP_ENVELOPE_SEGMENT * pEnvelopeSegments
|
||||
);
|
||||
|
||||
// Flush all of the envelope information for the given paramter between
|
||||
// the timestamps specified
|
||||
HRESULT FlushEnvelope (
|
||||
[in] DWORD dwParamIndex,
|
||||
[in] REFERENCE_TIME refTimeStart,
|
||||
[in] REFERENCE_TIME refTimeEnd
|
||||
);
|
||||
|
||||
// Change the time format being used by the object
|
||||
HRESULT SetTimeFormat (
|
||||
[in] GUID guidTimeFormat,
|
||||
[in] MP_TIMEDATA mpTimeData
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
190
extern/include/DShowIDL/mmstream.idl
vendored
@ -1,190 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: MMStream.idl
|
||||
//
|
||||
// Desc: MultiMedia streaming interface IDL file. Used by MIDL tool
|
||||
// to generate mmstream.h.
|
||||
//
|
||||
// Copyright (c) 1998-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import "unknwn.idl";
|
||||
|
||||
cpp_quote("#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)")
|
||||
cpp_quote("#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)")
|
||||
cpp_quote("#define MS_S_PENDING MS_SUCCESS_CODE(1)")
|
||||
cpp_quote("#define MS_S_NOUPDATE MS_SUCCESS_CODE(2)")
|
||||
cpp_quote("#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)")
|
||||
|
||||
cpp_quote("#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)")
|
||||
cpp_quote("#define MS_E_PURPOSEID MS_ERROR_CODE(2)")
|
||||
cpp_quote("#define MS_E_NOSTREAM MS_ERROR_CODE(3)")
|
||||
cpp_quote("#define MS_E_NOSEEKING MS_ERROR_CODE(4)")
|
||||
cpp_quote("#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)")
|
||||
cpp_quote("#define MS_E_BUSY MS_ERROR_CODE(6)")
|
||||
cpp_quote("#define MS_E_NOTINIT MS_ERROR_CODE(7)")
|
||||
cpp_quote("#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)")
|
||||
cpp_quote("#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)")
|
||||
cpp_quote("#define MS_E_NOTRUNNING MS_ERROR_CODE(10)")
|
||||
|
||||
cpp_quote("// {A35FF56A-9FDA-11d0-8FDF-00C04FD9189D}")
|
||||
cpp_quote("DEFINE_GUID(MSPID_PrimaryVideo, ")
|
||||
cpp_quote("0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
|
||||
|
||||
cpp_quote("// {A35FF56B-9FDA-11d0-8FDF-00C04FD9189D}")
|
||||
cpp_quote("DEFINE_GUID(MSPID_PrimaryAudio,")
|
||||
cpp_quote("0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
|
||||
|
||||
cpp_quote("#if(_WIN32_WINNT < 0x0400)")
|
||||
typedef void (__stdcall * PAPCFUNC)(DWORD_PTR dwParam);
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef LONGLONG STREAM_TIME;
|
||||
|
||||
typedef GUID MSPID;
|
||||
typedef REFGUID REFMSPID;
|
||||
|
||||
typedef enum {
|
||||
STREAMTYPE_READ = 0,
|
||||
STREAMTYPE_WRITE = 1,
|
||||
STREAMTYPE_TRANSFORM= 2
|
||||
} STREAM_TYPE;
|
||||
|
||||
typedef enum {
|
||||
STREAMSTATE_STOP = 0,
|
||||
STREAMSTATE_RUN = 1
|
||||
} STREAM_STATE;
|
||||
|
||||
|
||||
typedef enum {
|
||||
COMPSTAT_NOUPDATEOK = 0x00000001,
|
||||
COMPSTAT_WAIT = 0x00000002,
|
||||
COMPSTAT_ABORT = 0x00000004
|
||||
} COMPLETION_STATUS_FLAGS;
|
||||
|
||||
// Flags for GetInformation
|
||||
enum {
|
||||
MMSSF_HASCLOCK = 0x00000001,
|
||||
MMSSF_SUPPORTSEEK = 0x00000002,
|
||||
MMSSF_ASYNCHRONOUS = 0x00000004
|
||||
};
|
||||
|
||||
// Flags for StreamSample::Update
|
||||
enum {
|
||||
SSUPDATE_ASYNC = 0x00000001,
|
||||
SSUPDATE_CONTINUOUS = 0x00000002
|
||||
};
|
||||
|
||||
interface IMultiMediaStream;
|
||||
interface IMediaStream;
|
||||
interface IStreamSample;
|
||||
|
||||
// IMultiMediaStream interface
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(B502D1BC-9A57-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMultiMediaStream : IUnknown {
|
||||
|
||||
HRESULT GetInformation(
|
||||
[out] DWORD *pdwFlags,
|
||||
[out] STREAM_TYPE *pStreamType);
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] REFMSPID idPurpose,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT EnumMediaStreams(
|
||||
[in] long Index,
|
||||
[out] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT GetState(
|
||||
[out] STREAM_STATE *pCurrentState);
|
||||
|
||||
HRESULT SetState(
|
||||
[in] STREAM_STATE NewState);
|
||||
|
||||
HRESULT GetTime(
|
||||
[out] STREAM_TIME *pCurrentTime);
|
||||
|
||||
HRESULT GetDuration(
|
||||
[out] STREAM_TIME *pDuration);
|
||||
|
||||
HRESULT Seek(
|
||||
[in] STREAM_TIME SeekTime);
|
||||
|
||||
HRESULT GetEndOfStreamEventHandle(
|
||||
[out] HANDLE *phEOS);
|
||||
};
|
||||
|
||||
|
||||
// IMediaStream interface
|
||||
[
|
||||
object,
|
||||
uuid(B502D1BD-9A57-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IMediaStream : IUnknown {
|
||||
|
||||
HRESULT GetMultiMediaStream(
|
||||
[out] IMultiMediaStream **ppMultiMediaStream);
|
||||
|
||||
HRESULT GetInformation(
|
||||
[out] MSPID *pPurposeId,
|
||||
[out] STREAM_TYPE *pType);
|
||||
|
||||
HRESULT SetSameFormat(
|
||||
[in] IMediaStream *pStreamThatHasDesiredFormat,
|
||||
[in] DWORD dwFlags);
|
||||
|
||||
HRESULT AllocateSample(
|
||||
[in] DWORD dwFlags,
|
||||
[out] IStreamSample **ppSample);
|
||||
|
||||
|
||||
HRESULT CreateSharedSample(
|
||||
[in] IStreamSample *pExistingSample,
|
||||
[in] DWORD dwFlags,
|
||||
[out] IStreamSample **ppNewSample);
|
||||
|
||||
HRESULT SendEndOfStream(DWORD dwFlags);
|
||||
};
|
||||
|
||||
|
||||
// IStreamSample interface
|
||||
[
|
||||
object,
|
||||
local,
|
||||
uuid(B502D1BE-9A57-11d0-8FDE-00C04FD9189D),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IStreamSample : IUnknown {
|
||||
|
||||
HRESULT GetMediaStream(
|
||||
[in] IMediaStream **ppMediaStream);
|
||||
|
||||
HRESULT GetSampleTimes(
|
||||
[out] STREAM_TIME * pStartTime,
|
||||
[out] STREAM_TIME * pEndTime,
|
||||
[out] STREAM_TIME * pCurrentTime);
|
||||
|
||||
HRESULT SetSampleTimes(
|
||||
[in] const STREAM_TIME *pStartTime,
|
||||
[in] const STREAM_TIME *pEndTime);
|
||||
|
||||
HRESULT Update(
|
||||
[in] DWORD dwFlags,
|
||||
[in] HANDLE hEvent,
|
||||
[in] PAPCFUNC pfnAPC,
|
||||
[in] DWORD_PTR dwAPCData);
|
||||
|
||||
HRESULT CompletionStatus(
|
||||
[in] DWORD dwFlags,
|
||||
[in] DWORD dwMilliseconds);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
1457
extern/include/DShowIDL/mstve.idl
vendored
1702
extern/include/DShowIDL/qedit.idl
vendored
52
extern/include/DShowIDL/regbag.idl
vendored
@ -1,52 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: RegBag.idl
|
||||
//
|
||||
// Desc: IDL source for RegBag.dll.
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
cpp_quote("//+-------------------------------------------------------------------------")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// Microsoft Windows")
|
||||
cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2001.")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//--------------------------------------------------------------------------")
|
||||
cpp_quote("#pragma once")
|
||||
|
||||
#ifndef DO_NO_IMPORTS
|
||||
import "objidl.idl";
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
#endif
|
||||
|
||||
//*****************************************************************************
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Custom Factory interface
|
||||
// since com doesn't support ctors or initialization parameters on std factory interface
|
||||
// we have a custom creation interface
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//*****************************************************************************
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
[object,
|
||||
hidden, restricted,
|
||||
uuid(8A674B48-1F63-11d3-B64C-00C04F79498E),
|
||||
helpstring("Create property bag backed by registry"),
|
||||
pointer_default(unique),
|
||||
local
|
||||
]
|
||||
interface ICreatePropBagOnRegKey : IUnknown {
|
||||
// NOTE: it is up to the caller to set the correct registry access based on the interface
|
||||
// and methods the caller intends to use
|
||||
// IPropertyBag2::GetPropertyInfo and CountProperties require both KEY_QUERY_VALUE and KEY_ENUMERATE_SUBKEYS
|
||||
// IPropertyBagXXX::Read requires KEY_READ
|
||||
// IPropertyBagXXX::Write requires KEY_WRITE
|
||||
// also, you must CoTaskMemFree the name string from GetPropertyInfo
|
||||
// if you write a value of VT_EMPTY or VT_NULL the property will be removed from the bag and the corresponding
|
||||
// registry info will be deleted.
|
||||
HRESULT Create([in] HKEY hkey, [in] LPCOLESTR subkey, [in] DWORD ulOptions, [in] DWORD samDesired, REFIID iid, [out] LPVOID *ppBag);
|
||||
};
|
||||
|
56
extern/include/DShowIDL/strmif.idl
vendored
@ -1,56 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: StrmIf.idl
|
||||
//
|
||||
// Desc: ActiveMovie interface definitions.
|
||||
//
|
||||
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Temporarily disable the /W4 compiler warning C4201, which will be
|
||||
// reported by all apps which include streams.h or dshow.h, which both
|
||||
// include the strmif.h generated by this IDL file.
|
||||
//
|
||||
cpp_quote("//+-------------------------------------------------------------------------")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2001.")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//--------------------------------------------------------------------------")
|
||||
cpp_quote("// Disable /W4 compiler warning C4201: nameless struct/union")
|
||||
cpp_quote("#pragma warning(disable:4201) // Disable C4201: nameless struct/union")
|
||||
cpp_quote(" ") // Blank space
|
||||
|
||||
import "unknwn.idl";
|
||||
import "objidl.idl"; // for IPersist (IFilter's root)
|
||||
|
||||
#include "devenum.idl"
|
||||
|
||||
// Core interfaces
|
||||
#include "axcore.idl"
|
||||
|
||||
// Extended, ActiveMovie-only interfaces
|
||||
#include "axextend.idl"
|
||||
|
||||
#if (WINVER < 0x501)
|
||||
#include "IAMovie.idl"
|
||||
#endif
|
||||
|
||||
// Application interfaces for DVD
|
||||
#include "dvdif.idl"
|
||||
|
||||
// Dynamic graph stuff
|
||||
#include "dyngraph.idl"
|
||||
|
||||
// This include is only valid when building for Windows XP
|
||||
#if (WINVER >= 0x501)
|
||||
|
||||
// Video Mixing Renderer
|
||||
#include "VMRender.idl"
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// Restore the previous setting for C4201 compiler warning
|
||||
//
|
||||
cpp_quote("// Restore the previous setting for C4201 compiler warning")
|
||||
cpp_quote("#pragma warning(default:4201)")
|
4225
extern/include/DShowIDL/tuner.idl
vendored
117
extern/include/Iwstdec.h
vendored
@ -1,117 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: iwstdec.h
|
||||
//
|
||||
// Desc: WST Decoder related definitions and interfaces for ActiveMovie
|
||||
//
|
||||
// Copyright (c) 1999-2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef __IWSTDEC__
|
||||
#define __IWSTDEC__
|
||||
|
||||
//
|
||||
// Some data types used as WST decoder parameters by the interface
|
||||
//
|
||||
typedef struct _AM_WST_PAGE {
|
||||
DWORD dwPageNr ;
|
||||
DWORD dwSubPageNr ;
|
||||
BYTE *pucPageData;
|
||||
} AM_WST_PAGE, *PAM_WST_PAGE ;
|
||||
|
||||
typedef enum _AM_WST_LEVEL {
|
||||
AM_WST_LEVEL_1_5 = 0
|
||||
} AM_WST_LEVEL, *PAM_WST_LEVEL ;
|
||||
|
||||
typedef enum _AM_WST_SERVICE {
|
||||
AM_WST_SERVICE_None = 0,
|
||||
AM_WST_SERVICE_Text,
|
||||
AM_WST_SERVICE_IDS,
|
||||
AM_WST_SERVICE_Invalid
|
||||
} AM_WST_SERVICE, *PAM_WST_SERVICE ;
|
||||
|
||||
typedef enum _AM_WST_STATE {
|
||||
AM_WST_STATE_Off = 0,
|
||||
AM_WST_STATE_On
|
||||
} AM_WST_STATE, *PAM_WST_STATE ;
|
||||
|
||||
typedef enum _AM_WST_STYLE {
|
||||
AM_WST_STYLE_None = 0,
|
||||
AM_WST_STYLE_Invers
|
||||
} AM_WST_STYLE, *PAM_WST_STYLE ;
|
||||
|
||||
typedef enum _AM_WST_DRAWBGMODE {
|
||||
AM_WST_DRAWBGMODE_Opaque,
|
||||
AM_WST_DRAWBGMODE_Transparent
|
||||
} AM_WST_DRAWBGMODE, *PAM_WST_DRAWBGMODE ;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
//
|
||||
// WST Decoder standard COM interface
|
||||
//
|
||||
DECLARE_INTERFACE_(IAMWstDecoder, IUnknown)
|
||||
{
|
||||
public:
|
||||
//
|
||||
// Decoder options to be used by apps
|
||||
//
|
||||
|
||||
// What is the decoder's level
|
||||
STDMETHOD(GetDecoderLevel)(THIS_ AM_WST_LEVEL *lpLevel) PURE ;
|
||||
|
||||
// STDMETHOD(SetDecoderLevel)(THIS_ AM_WST_LEVEL Level) PURE ;
|
||||
|
||||
// Which of the services is being currently used
|
||||
STDMETHOD(GetCurrentService)(THIS_ AM_WST_SERVICE *lpService) PURE ;
|
||||
// STDMETHOD(SetCurrentService)(THIS_ AM_WST_SERVICE Service) PURE ;
|
||||
|
||||
// Query/Set the service state (On/Off)
|
||||
// supported state values are AM_WSTState_On and AM_WSTState_Off
|
||||
STDMETHOD(GetServiceState)(THIS_ AM_WST_STATE *lpState) PURE ;
|
||||
STDMETHOD(SetServiceState)(THIS_ AM_WST_STATE State) PURE ;
|
||||
|
||||
//
|
||||
// Output options to be used by downstream filters
|
||||
//
|
||||
|
||||
// What size, bitdepth etc should the output video be
|
||||
STDMETHOD(GetOutputFormat)(THIS_ LPBITMAPINFOHEADER lpbmih) PURE ;
|
||||
// GetOutputFormat() method, if successful, returns
|
||||
// 1. S_FALSE if no output format has so far been defined by downstream filters
|
||||
// 2. S_OK if an output format has already been defined by downstream filters
|
||||
STDMETHOD(SetOutputFormat)(THIS_ LPBITMAPINFO lpbmi) PURE ;
|
||||
|
||||
// Specify physical color to be used in colorkeying the background
|
||||
// for overlay mixing
|
||||
STDMETHOD(GetBackgroundColor)(THIS_ DWORD *pdwPhysColor) PURE ;
|
||||
STDMETHOD(SetBackgroundColor)(THIS_ DWORD dwPhysColor) PURE ;
|
||||
|
||||
// Specify if whole output bitmap should be redrawn for each sample
|
||||
STDMETHOD(GetRedrawAlways)(THIS_ LPBOOL lpbOption) PURE ;
|
||||
STDMETHOD(SetRedrawAlways)(THIS_ BOOL bOption) PURE ;
|
||||
|
||||
// Specify if the caption text background should be opaque/transparent
|
||||
STDMETHOD(GetDrawBackgroundMode)(THIS_ AM_WST_DRAWBGMODE *lpMode) PURE ;
|
||||
STDMETHOD(SetDrawBackgroundMode)(THIS_ AM_WST_DRAWBGMODE Mode) PURE ;
|
||||
// supported mode values are AM_WST_DrawBGMode_Opaque and
|
||||
// AM_WST_DrawBGMode_Transparent
|
||||
|
||||
STDMETHOD(SetAnswerMode)(THIS_ BOOL bAnswer) PURE ;
|
||||
STDMETHOD(GetAnswerMode)(THIS_ BOOL* pbAnswer) PURE ;
|
||||
|
||||
STDMETHOD(SetHoldPage)(THIS_ BOOL bHoldPage) PURE ;
|
||||
STDMETHOD(GetHoldPage)(THIS_ BOOL* pbHoldPage) PURE ;
|
||||
|
||||
STDMETHOD(GetCurrentPage)(THIS_ PAM_WST_PAGE pWstPage) PURE;
|
||||
STDMETHOD(SetCurrentPage)(THIS_ AM_WST_PAGE WstPage) PURE;
|
||||
|
||||
} ;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
#endif // __IWSTDEC__
|