����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 14.139.229.36  /  Your IP : 10.1.1.9
Web Server : Apache
System : Linux gbpuat-tech.ac.in 4.18.0-240.15.1.el8_3.x86_64 #1 SMP Mon Mar 1 17:16:16 UTC 2021 x86_64
User : apache ( 48)
PHP Version : 7.2.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/gnome-shell/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/gnome-shell/Gvc-1.0.gir
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <namespace name="Gvc"
             version="1.0"
             shared-library="libgvc.so"
             c:identifier-prefixes="Gvc"
             c:symbol-prefixes="gvc">
    <class name="ChannelMap"
           c:symbol-prefix="channel_map"
           c:type="GvcChannelMap"
           parent="GObject.Object"
           glib:type-name="GvcChannelMap"
           glib:get-type="gvc_channel_map_get_type"
           glib:type-struct="ChannelMapClass">
      <constructor name="new" c:identifier="gvc_channel_map_new">
        <return-value transfer-ownership="full">
          <type name="ChannelMap" c:type="GvcChannelMap*"/>
        </return-value>
      </constructor>
      <virtual-method name="volume_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel_map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </instance-parameter>
          <parameter name="set" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="can_balance" c:identifier="gvc_channel_map_can_balance">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <type name="ChannelMap" c:type="const GvcChannelMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_fade" c:identifier="gvc_channel_map_can_fade">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <type name="ChannelMap" c:type="const GvcChannelMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mapping" c:identifier="gvc_channel_map_get_mapping">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <type name="ChannelMap" c:type="const GvcChannelMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_num_channels"
              c:identifier="gvc_channel_map_get_num_channels">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <type name="ChannelMap" c:type="const GvcChannelMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_volume" c:identifier="gvc_channel_map_get_volume">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="const gdouble*"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_position"
              c:identifier="gvc_channel_map_has_position"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <type name="ChannelMap" c:type="const GvcChannelMap*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ChannelMapPrivate" c:type="GvcChannelMapPrivate*"/>
      </field>
      <glib:signal name="volume-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ChannelMapClass"
            c:type="GvcChannelMapClass"
            glib:is-gtype-struct-for="ChannelMap">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="volume_changed">
        <callback name="volume_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="channel_map" transfer-ownership="none">
              <type name="ChannelMap" c:type="GvcChannelMap*"/>
            </parameter>
            <parameter name="set" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ChannelMapPrivate"
            c:type="GvcChannelMapPrivate"
            disguised="1">
    </record>
    <bitfield name="HeadsetPortChoice" c:type="GvcHeadsetPortChoice">
      <member name="none"
              value="0"
              c:identifier="GVC_HEADSET_PORT_CHOICE_NONE">
      </member>
      <member name="headphones"
              value="1"
              c:identifier="GVC_HEADSET_PORT_CHOICE_HEADPHONES">
      </member>
      <member name="headset"
              value="2"
              c:identifier="GVC_HEADSET_PORT_CHOICE_HEADSET">
      </member>
      <member name="mic" value="4" c:identifier="GVC_HEADSET_PORT_CHOICE_MIC">
      </member>
    </bitfield>
    <constant name="MIXER_UI_DEVICE_INVALID"
              value="0"
              c:type="GVC_MIXER_UI_DEVICE_INVALID">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="MixerCard"
           c:symbol-prefix="mixer_card"
           c:type="GvcMixerCard"
           parent="GObject.Object"
           glib:type-name="GvcMixerCard"
           glib:get-type="gvc_mixer_card_get_type"
           glib:type-struct="MixerCardClass">
      <method name="change_profile"
              c:identifier="gvc_mixer_card_change_profile">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gicon" c:identifier="gvc_mixer_card_get_gicon">
        <return-value transfer-ownership="full">
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name" c:identifier="gvc_mixer_card_get_icon_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="gvc_mixer_card_get_id">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_index" c:identifier="gvc_mixer_card_get_index">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="gvc_mixer_card_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ports" c:identifier="gvc_mixer_card_get_ports">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="const GList*">
            <type name="MixerCardPort"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="gvc_mixer_card_get_profile"
              introspectable="0">
        <return-value>
          <type name="MixerCardProfile" c:type="GvcMixerCardProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profiles" c:identifier="gvc_mixer_card_get_profiles">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="const GList*">
            <type name="MixerCardProfile"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_icon_name" c:identifier="gvc_mixer_card_set_icon_name">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="gvc_mixer_card_set_name">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ports" c:identifier="gvc_mixer_card_set_ports">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
          <parameter name="ports" transfer-ownership="full">
            <type name="GLib.List" c:type="GList*">
              <type name="MixerCardPort"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_profile" c:identifier="gvc_mixer_card_set_profile">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_profiles" c:identifier="gvc_mixer_card_set_profiles">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="card" transfer-ownership="none">
            <type name="MixerCard" c:type="GvcMixerCard*"/>
          </instance-parameter>
          <parameter name="profiles" transfer-ownership="full">
            <type name="GLib.List" c:type="GList*">
              <type name="MixerCardProfile"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <property name="human-profile" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon-name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="id"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gulong" c:type="gulong"/>
      </property>
      <property name="index"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gulong" c:type="gulong"/>
      </property>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="pa-context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="profile" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MixerCardPrivate" c:type="GvcMixerCardPrivate*"/>
      </field>
    </class>
    <record name="MixerCardClass"
            c:type="GvcMixerCardClass"
            glib:is-gtype-struct-for="MixerCard">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MixerCardPort" c:type="GvcMixerCardPort">
      <field name="port" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="human_port" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="icon_name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="priority" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="available" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="direction" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="profiles" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
    </record>
    <record name="MixerCardPrivate" c:type="GvcMixerCardPrivate" disguised="1">
    </record>
    <record name="MixerCardProfile" c:type="GvcMixerCardProfile">
      <field name="profile" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="human_profile" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="status" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="priority" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="n_sinks" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="n_sources" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="compare" c:identifier="gvc_mixer_card_profile_compare">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">1 if @a has a higher priority, -1 if @b has a higher
priority, 0 if @a and @b have the same priority.</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <type name="MixerCardProfile" c:type="GvcMixerCardProfile*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <type name="MixerCardProfile" c:type="GvcMixerCardProfile*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <class name="MixerControl"
           c:symbol-prefix="mixer_control"
           c:type="GvcMixerControl"
           parent="GObject.Object"
           glib:type-name="GvcMixerControl"
           glib:get-type="gvc_mixer_control_get_type"
           glib:type-struct="MixerControlClass">
      <constructor name="new" c:identifier="gvc_mixer_control_new">
        <return-value transfer-ownership="full">
          <type name="MixerControl" c:type="GvcMixerControl*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="active_input_update">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="active_output_update">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="audio_device_selection_needed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="show_dialog" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="choices" transfer-ownership="none">
            <type name="HeadsetPortChoice" c:type="GvcHeadsetPortChoice"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="card_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="card_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="default_sink_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="default_source_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="input_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="input_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="output_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="output_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="state_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="new_state" transfer-ownership="none">
            <type name="MixerControlState" c:type="GvcMixerControlState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="stream_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="stream_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="stream_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="change_input"
              c:identifier="gvc_mixer_control_change_input">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="input" transfer-ownership="none">
            <doc xml:space="preserve">This method is called from the UI when the user selects a previously unselected device.
- Firstly it queries the stream from the device.
  - It assumes that if the stream is null that it cannot be a bluetooth or network stream (they never show unless they have valid sinks and sources)
  In the scenario of a NULL stream on the device
       - It fetches the device's preferred profile or if NUll the profile with the highest priority on that device.
       - It then caches this device in control-&gt;priv-&gt;cached_desired_input_id so that when the update_source triggered
         from when we attempt to change profile we will know exactly what device to highlight on that stream.
       - It attempts to swap the profile on the card from that device and returns.
- Next, it handles network or bluetooth streams that only require their stream to be made the default.
- Next it deals with port changes so if the stream's active port is not the same as the port on the device
  it will attempt to change the port on that stream to be same as the device. If this fails it will return.
- Finally it will set this new stream to be the default stream and emit a signal for the UI confirming the active input device.</doc>
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="change_output"
              c:identifier="gvc_mixer_control_change_output">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve">This method is called from the UI when the user selects a previously unselected device.
- Firstly it queries the stream from the device.
  - It assumes that if the stream is null that it cannot be a bluetooth or network stream (they never show unless they have valid sinks and sources)
  In the scenario of a NULL stream on the device
       - It fetches the device's preferred profile or if NUll the profile with the highest priority on that device.
       - It then caches this device in control-&gt;priv-&gt;cached_desired_output_id so that when the update_sink triggered
         from when we attempt to change profile we will know exactly what device to highlight on that stream.
       - It attempts to swap the profile on the card from that device and returns.
- Next, it handles network or bluetooth streams that only require their stream to be made the default.
- Next it deals with port changes so if the stream's active port is not the same as the port on the device
  it will attempt to change the port on that stream to be same as the device. If this fails it will return.
- Finally it will set this new stream to be the default stream and emit a signal for the UI confirming the active output device.</doc>
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="change_profile_on_selected_device"
              c:identifier="gvc_mixer_control_change_profile_on_selected_device">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">This method will attempt to swap the profile on the card of
the device with given profile name.  If successfull it will set the
preferred profile on that device so as we know the next time the user
moves to that device it should have this profile active.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </parameter>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve">Can be null if any profile present on this port is okay</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close" c:identifier="gvc_mixer_control_close">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cards" c:identifier="gvc_mixer_control_get_cards">
        <return-value transfer-ownership="container">
          <type name="GLib.SList" c:type="GSList*">
            <type name="MixerCard"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_sink"
              c:identifier="gvc_mixer_control_get_default_sink">
        <return-value transfer-ownership="none">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_source"
              c:identifier="gvc_mixer_control_get_default_source">
        <return-value transfer-ownership="none">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_event_sink_input"
              c:identifier="gvc_mixer_control_get_event_sink_input">
        <return-value transfer-ownership="none">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sink_inputs"
              c:identifier="gvc_mixer_control_get_sink_inputs">
        <return-value transfer-ownership="container">
          <type name="GLib.SList" c:type="GSList*">
            <type name="MixerSinkInput"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sinks" c:identifier="gvc_mixer_control_get_sinks">
        <return-value transfer-ownership="container">
          <type name="GLib.SList" c:type="GSList*">
            <type name="MixerSink"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_outputs"
              c:identifier="gvc_mixer_control_get_source_outputs">
        <return-value transfer-ownership="container">
          <type name="GLib.SList" c:type="GSList*">
            <type name="MixerSourceOutput"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sources" c:identifier="gvc_mixer_control_get_sources">
        <return-value transfer-ownership="container">
          <type name="GLib.SList" c:type="GSList*">
            <type name="MixerSource"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="gvc_mixer_control_get_state">
        <return-value transfer-ownership="none">
          <type name="MixerControlState" c:type="GvcMixerControlState"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_from_device"
              c:identifier="gvc_mixer_control_get_stream_from_device">
        <return-value transfer-ownership="none">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_streams" c:identifier="gvc_mixer_control_get_streams">
        <return-value transfer-ownership="container">
          <type name="GLib.SList" c:type="GSList*">
            <type name="MixerStream"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vol_max_amplified"
              c:identifier="gvc_mixer_control_get_vol_max_amplified">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vol_max_norm"
              c:identifier="gvc_mixer_control_get_vol_max_norm">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup_card_id"
              c:identifier="gvc_mixer_control_lookup_card_id">
        <return-value transfer-ownership="none">
          <type name="MixerCard" c:type="GvcMixerCard*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_device_from_stream"
              c:identifier="gvc_mixer_control_lookup_device_from_stream">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GvcUIDevice or %NULL</doc>
          <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_input_id"
              c:identifier="gvc_mixer_control_lookup_input_id">
        <return-value transfer-ownership="none">
          <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_output_id"
              c:identifier="gvc_mixer_control_lookup_output_id">
        <return-value transfer-ownership="none">
          <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_stream_id"
              c:identifier="gvc_mixer_control_lookup_stream_id">
        <return-value transfer-ownership="none">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="open" c:identifier="gvc_mixer_control_open">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_default_sink"
              c:identifier="gvc_mixer_control_set_default_sink">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_source"
              c:identifier="gvc_mixer_control_set_default_source">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_headset_port"
              c:identifier="gvc_mixer_control_set_headset_port">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="control" transfer-ownership="none">
            <type name="MixerControl" c:type="GvcMixerControl*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="choices" transfer-ownership="none">
            <type name="HeadsetPortChoice" c:type="GvcHeadsetPortChoice"/>
          </parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MixerControlPrivate" c:type="GvcMixerControlPrivate*"/>
      </field>
      <glib:signal name="active-input-update" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="active-output-update" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="audio-device-selection-needed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="card-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="card-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="default-sink-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="default-source-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="input-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="input-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="output-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="output-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="state-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="stream-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="stream-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="stream-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MixerControlClass"
            c:type="GvcMixerControlClass"
            glib:is-gtype-struct-for="MixerControl">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="state_changed">
        <callback name="state_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="new_state" transfer-ownership="none">
              <type name="MixerControlState" c:type="GvcMixerControlState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="stream_added">
        <callback name="stream_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="stream_changed">
        <callback name="stream_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="stream_removed">
        <callback name="stream_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="card_added">
        <callback name="card_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="card_removed">
        <callback name="card_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="default_sink_changed">
        <callback name="default_sink_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="default_source_changed">
        <callback name="default_source_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_output_update">
        <callback name="active_output_update">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_input_update">
        <callback name="active_input_update">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="output_added">
        <callback name="output_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="input_added">
        <callback name="input_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="output_removed">
        <callback name="output_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="input_removed">
        <callback name="input_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="audio_device_selection_needed">
        <callback name="audio_device_selection_needed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="control" transfer-ownership="none">
              <type name="MixerControl" c:type="GvcMixerControl*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="show_dialog" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="choices" transfer-ownership="none">
              <type name="HeadsetPortChoice" c:type="GvcHeadsetPortChoice"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="MixerControlPrivate"
            c:type="GvcMixerControlPrivate"
            disguised="1">
    </record>
    <enumeration name="MixerControlState" c:type="GvcMixerControlState">
      <member name="closed" value="0" c:identifier="GVC_STATE_CLOSED">
      </member>
      <member name="ready" value="1" c:identifier="GVC_STATE_READY">
      </member>
      <member name="connecting" value="2" c:identifier="GVC_STATE_CONNECTING">
      </member>
      <member name="failed" value="3" c:identifier="GVC_STATE_FAILED">
      </member>
    </enumeration>
    <class name="MixerEventRole"
           c:symbol-prefix="mixer_event_role"
           c:type="GvcMixerEventRole"
           parent="MixerStream"
           glib:type-name="GvcMixerEventRole"
           glib:get-type="gvc_mixer_event_role_get_type"
           glib:type-struct="MixerEventRoleClass">
      <constructor name="new"
                   c:identifier="gvc_mixer_event_role_new"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="channel_map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="device"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="MixerStream" c:type="GvcMixerStream"/>
      </field>
      <field name="priv">
        <type name="MixerEventRolePrivate" c:type="GvcMixerEventRolePrivate*"/>
      </field>
    </class>
    <record name="MixerEventRoleClass"
            c:type="GvcMixerEventRoleClass"
            glib:is-gtype-struct-for="MixerEventRole">
      <field name="parent_class">
        <type name="MixerStreamClass" c:type="GvcMixerStreamClass"/>
      </field>
    </record>
    <record name="MixerEventRolePrivate"
            c:type="GvcMixerEventRolePrivate"
            disguised="1">
    </record>
    <class name="MixerSink"
           c:symbol-prefix="mixer_sink"
           c:type="GvcMixerSink"
           parent="MixerStream"
           glib:type-name="GvcMixerSink"
           glib:get-type="gvc_mixer_sink_get_type"
           glib:type-struct="MixerSinkClass">
      <constructor name="new"
                   c:identifier="gvc_mixer_sink_new"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="channel_map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="MixerStream" c:type="GvcMixerStream"/>
      </field>
      <field name="priv">
        <type name="MixerSinkPrivate" c:type="GvcMixerSinkPrivate*"/>
      </field>
    </class>
    <record name="MixerSinkClass"
            c:type="GvcMixerSinkClass"
            glib:is-gtype-struct-for="MixerSink">
      <field name="parent_class">
        <type name="MixerStreamClass" c:type="GvcMixerStreamClass"/>
      </field>
    </record>
    <class name="MixerSinkInput"
           c:symbol-prefix="mixer_sink_input"
           c:type="GvcMixerSinkInput"
           parent="MixerStream"
           glib:type-name="GvcMixerSinkInput"
           glib:get-type="gvc_mixer_sink_input_get_type"
           glib:type-struct="MixerSinkInputClass">
      <constructor name="new"
                   c:identifier="gvc_mixer_sink_input_new"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="channel_map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="MixerStream" c:type="GvcMixerStream"/>
      </field>
      <field name="priv">
        <type name="MixerSinkInputPrivate" c:type="GvcMixerSinkInputPrivate*"/>
      </field>
    </class>
    <record name="MixerSinkInputClass"
            c:type="GvcMixerSinkInputClass"
            glib:is-gtype-struct-for="MixerSinkInput">
      <field name="parent_class">
        <type name="MixerStreamClass" c:type="GvcMixerStreamClass"/>
      </field>
    </record>
    <record name="MixerSinkInputPrivate"
            c:type="GvcMixerSinkInputPrivate"
            disguised="1">
    </record>
    <record name="MixerSinkPrivate" c:type="GvcMixerSinkPrivate" disguised="1">
    </record>
    <class name="MixerSource"
           c:symbol-prefix="mixer_source"
           c:type="GvcMixerSource"
           parent="MixerStream"
           glib:type-name="GvcMixerSource"
           glib:get-type="gvc_mixer_source_get_type"
           glib:type-struct="MixerSourceClass">
      <constructor name="new"
                   c:identifier="gvc_mixer_source_new"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="channel_map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="MixerStream" c:type="GvcMixerStream"/>
      </field>
      <field name="priv">
        <type name="MixerSourcePrivate" c:type="GvcMixerSourcePrivate*"/>
      </field>
    </class>
    <record name="MixerSourceClass"
            c:type="GvcMixerSourceClass"
            glib:is-gtype-struct-for="MixerSource">
      <field name="parent_class">
        <type name="MixerStreamClass" c:type="GvcMixerStreamClass"/>
      </field>
    </record>
    <class name="MixerSourceOutput"
           c:symbol-prefix="mixer_source_output"
           c:type="GvcMixerSourceOutput"
           parent="MixerStream"
           glib:type-name="GvcMixerSourceOutput"
           glib:get-type="gvc_mixer_source_output_get_type"
           glib:type-struct="MixerSourceOutputClass">
      <constructor name="new"
                   c:identifier="gvc_mixer_source_output_new"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="MixerStream" c:type="GvcMixerStream*"/>
        </return-value>
        <parameters>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="channel_map" transfer-ownership="none">
            <type name="ChannelMap" c:type="GvcChannelMap*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="MixerStream" c:type="GvcMixerStream"/>
      </field>
      <field name="priv">
        <type name="MixerSourceOutputPrivate"
              c:type="GvcMixerSourceOutputPrivate*"/>
      </field>
    </class>
    <record name="MixerSourceOutputClass"
            c:type="GvcMixerSourceOutputClass"
            glib:is-gtype-struct-for="MixerSourceOutput">
      <field name="parent_class">
        <type name="MixerStreamClass" c:type="GvcMixerStreamClass"/>
      </field>
    </record>
    <record name="MixerSourceOutputPrivate"
            c:type="GvcMixerSourceOutputPrivate"
            disguised="1">
    </record>
    <record name="MixerSourcePrivate"
            c:type="GvcMixerSourcePrivate"
            disguised="1">
    </record>
    <class name="MixerStream"
           c:symbol-prefix="mixer_stream"
           c:type="GvcMixerStream"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GvcMixerStream"
           glib:get-type="gvc_mixer_stream_get_type"
           glib:type-struct="MixerStreamClass">
      <virtual-method name="change_is_muted" invoker="change_is_muted">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="is_muted" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="change_port" invoker="change_port">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="push_volume">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="operation"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="change_is_muted"
              c:identifier="gvc_mixer_stream_change_is_muted">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="is_muted" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="change_port" c:identifier="gvc_mixer_stream_change_port">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_application_id"
              c:identifier="gvc_mixer_stream_get_application_id">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_base_volume"
              c:identifier="gvc_mixer_stream_get_base_volume">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_decibel"
              c:identifier="gvc_mixer_stream_get_can_decibel">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_card_index"
              c:identifier="gvc_mixer_stream_get_card_index">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_channel_map"
              c:identifier="gvc_mixer_stream_get_channel_map">
        <return-value transfer-ownership="none">
          <type name="ChannelMap" c:type="const GvcChannelMap*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_decibel" c:identifier="gvc_mixer_stream_get_decibel">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gvc_mixer_stream_get_description">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_form_factor"
              c:identifier="gvc_mixer_stream_get_form_factor">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gicon" c:identifier="gvc_mixer_stream_get_gicon">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GIcon</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve">a #GvcMixerStream</doc>
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="gvc_mixer_stream_get_icon_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="gvc_mixer_stream_get_id">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_index" c:identifier="gvc_mixer_stream_get_index">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_muted" c:identifier="gvc_mixer_stream_get_is_muted">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="gvc_mixer_stream_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_port" c:identifier="gvc_mixer_stream_get_port">
        <return-value transfer-ownership="none">
          <type name="MixerStreamPort" c:type="const GvcMixerStreamPort*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ports" c:identifier="gvc_mixer_stream_get_ports">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="const GList*">
            <type name="MixerStreamPort"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sysfs_path"
              c:identifier="gvc_mixer_stream_get_sysfs_path">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_volume" c:identifier="gvc_mixer_stream_get_volume">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_event_stream"
              c:identifier="gvc_mixer_stream_is_event_stream">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_running" c:identifier="gvc_mixer_stream_is_running">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_virtual" c:identifier="gvc_mixer_stream_is_virtual">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="push_volume" c:identifier="gvc_mixer_stream_push_volume">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_application_id"
              c:identifier="gvc_mixer_stream_set_application_id">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="application_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_base_volume"
              c:identifier="gvc_mixer_stream_set_base_volume">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="base_volume" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_decibel"
              c:identifier="gvc_mixer_stream_set_can_decibel">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="can_decibel" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_card_index"
              c:identifier="gvc_mixer_stream_set_card_index">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="card_index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_decibel" c:identifier="gvc_mixer_stream_set_decibel">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="db" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="gvc_mixer_stream_set_description">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_form_factor"
              c:identifier="gvc_mixer_stream_set_form_factor">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="form_factor" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="gvc_mixer_stream_set_icon_name">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_event_stream"
              c:identifier="gvc_mixer_stream_set_is_event_stream">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="is_event_stream" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_muted" c:identifier="gvc_mixer_stream_set_is_muted">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="is_muted" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_virtual"
              c:identifier="gvc_mixer_stream_set_is_virtual">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="is_event_stream" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="gvc_mixer_stream_set_name">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_port" c:identifier="gvc_mixer_stream_set_port">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ports" c:identifier="gvc_mixer_stream_set_ports">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="ports" transfer-ownership="full">
            <type name="GLib.List" c:type="GList*">
              <type name="MixerStreamPort"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_sysfs_path"
              c:identifier="gvc_mixer_stream_set_sysfs_path">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="sysfs_path" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_volume" c:identifier="gvc_mixer_stream_set_volume">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <type name="MixerStream" c:type="GvcMixerStream*"/>
          </instance-parameter>
          <parameter name="volume" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <property name="application-id"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="can-decibel"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="card-index"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="glong" c:type="glong"/>
      </property>
      <property name="channel-map"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="ChannelMap"/>
      </property>
      <property name="decibel"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="description"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="form-factor"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon-name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="id"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gulong" c:type="gulong"/>
      </property>
      <property name="index"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gulong" c:type="gulong"/>
      </property>
      <property name="is-event-stream"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="is-muted"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="is-virtual"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="pa-context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="port" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="sysfs-path"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="volume" writable="1" transfer-ownership="none">
        <type name="gulong" c:type="gulong"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MixerStreamPrivate" c:type="GvcMixerStreamPrivate*"/>
      </field>
    </class>
    <record name="MixerStreamClass"
            c:type="GvcMixerStreamClass"
            glib:is-gtype-struct-for="MixerStream">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="push_volume">
        <callback name="push_volume">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="stream" transfer-ownership="none">
              <type name="MixerStream" c:type="GvcMixerStream*"/>
            </parameter>
            <parameter name="operation"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="gpointer" c:type="gpointer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change_is_muted">
        <callback name="change_is_muted">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="stream" transfer-ownership="none">
              <type name="MixerStream" c:type="GvcMixerStream*"/>
            </parameter>
            <parameter name="is_muted" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change_port">
        <callback name="change_port">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="stream" transfer-ownership="none">
              <type name="MixerStream" c:type="GvcMixerStream*"/>
            </parameter>
            <parameter name="port" transfer-ownership="none">
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="MixerStreamPort"
            c:type="GvcMixerStreamPort"
            glib:type-name="GvcMixerStreamPort"
            glib:get-type="gvc_mixer_stream_port_get_type"
            c:symbol-prefix="mixer_stream_port">
      <field name="port" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="human_port" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="priority" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="available" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <record name="MixerStreamPrivate"
            c:type="GvcMixerStreamPrivate"
            disguised="1">
    </record>
    <class name="MixerUIDevice"
           c:symbol-prefix="mixer_ui_device"
           c:type="GvcMixerUIDevice"
           parent="GObject.Object"
           glib:type-name="GvcMixerUIDevice"
           glib:get-type="gvc_mixer_ui_device_get_type"
           glib:type-struct="MixerUIDeviceClass">
      <method name="get_active_profile"
              c:identifier="gvc_mixer_ui_device_get_active_profile">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_best_profile"
              c:identifier="gvc_mixer_ui_device_get_best_profile">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a profile name, valid as long as the UI device profiles are.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
          <parameter name="selected" transfer-ownership="none">
            <doc xml:space="preserve">The selected profile or its canonical name or %NULL for any profile</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="current" transfer-ownership="none">
            <doc xml:space="preserve">The currently selected profile</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gvc_mixer_ui_device_get_description">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gicon" c:identifier="gvc_mixer_ui_device_get_gicon">
        <return-value transfer-ownership="full">
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="gvc_mixer_ui_device_get_icon_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="gvc_mixer_ui_device_get_id">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_matching_profile"
              c:identifier="gvc_mixer_ui_device_get_matching_profile">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_origin" c:identifier="gvc_mixer_ui_device_get_origin">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_port" c:identifier="gvc_mixer_ui_device_get_port">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profiles"
              c:identifier="gvc_mixer_ui_device_get_profiles">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="MixerCardProfile"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_id"
              c:identifier="gvc_mixer_ui_device_get_stream_id">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_supported_profiles"
              c:identifier="gvc_mixer_ui_device_get_supported_profiles">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="MixerCardProfile"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_top_priority_profile"
              c:identifier="gvc_mixer_ui_device_get_top_priority_profile">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_user_preferred_profile"
              c:identifier="gvc_mixer_ui_device_get_user_preferred_profile">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_ports" c:identifier="gvc_mixer_ui_device_has_ports">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="invalidate_stream"
              c:identifier="gvc_mixer_ui_device_invalidate_stream">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_output" c:identifier="gvc_mixer_ui_device_is_output">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_profiles"
              c:identifier="gvc_mixer_ui_device_set_profiles">
        <doc xml:space="preserve">Assigns value to
 - device-&gt;priv-&gt;profiles (profiles to be added to combobox)
 - device-&gt;priv-&gt;supported_profiles (all profiles of this port)
 - device-&gt;priv-&gt;disable_profile_swapping (whether to show the combobox)

This method attempts to reduce the list of profiles visible to the user by figuring out
from the context of that device (whether it's an input or an output) what profiles
actually provide an alternative.

It does this by the following.
 - It ignores off profiles.
 - It takes the canonical name of the profile. That name is what you get when you
   ignore the other direction.
 - In the first iteration, it only adds the names of canonical profiles - i e
   when the other side is turned off.
 - Normally the first iteration covers all cases, but sometimes (e g bluetooth)
   it doesn't, so add other profiles whose canonical name isn't already added
   in a second iteration.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
          <parameter name="in_profiles" transfer-ownership="none">
            <doc xml:space="preserve">a list of GvcMixerCardProfile</doc>
            <type name="GLib.List" c:type="const GList*">
              <type name="MixerCardProfile"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_user_preferred_profile"
              c:identifier="gvc_mixer_ui_device_set_user_preferred_profile">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
          <parameter name="profile" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="should_profiles_be_hidden"
              c:identifier="gvc_mixer_ui_device_should_profiles_be_hidden">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="MixerUIDevice" c:type="GvcMixerUIDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="card" writable="1" transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="description" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon-name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="origin" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="port-available" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="port-name" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="stream-id" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="type" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MixerUIDevicePrivate" c:type="GvcMixerUIDevicePrivate*"/>
      </field>
    </class>
    <record name="MixerUIDeviceClass"
            c:type="GvcMixerUIDeviceClass"
            glib:is-gtype-struct-for="MixerUIDevice">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="MixerUIDeviceDirection"
                 c:type="GvcMixerUIDeviceDirection">
      <member name="ideviceinput" value="0" c:identifier="UIDeviceInput">
      </member>
      <member name="ideviceoutput" value="1" c:identifier="UIDeviceOutput">
      </member>
    </enumeration>
    <record name="MixerUIDevicePrivate"
            c:type="GvcMixerUIDevicePrivate"
            disguised="1">
    </record>
  </namespace>
</repository>

Youez - 2016 - github.com/yon3zu
LinuXploit