From: Jeongmo Yang Date: Tue, 1 Jun 2021 09:24:46 +0000 (+0900) Subject: Initial release X-Git-Tag: submit/tizen/20210602.025405^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2a0d31c8d6541a08e614ecd3d035f86d96434d14;p=platform%2Fhal%2Fbackend%2Fmedia-config.git Initial release - It's renamed from mmfw-sysconf for HAL image. [Version] 0.3.0 [Issue Type] Initial release Change-Id: Icf2e09fc2d50af5d8dfc1e531426e25aa6e83334 Signed-off-by: Jeongmo Yang --- diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..07bbefa --- /dev/null +++ b/AUTHORS @@ -0,0 +1,4 @@ +Heechul Jeon +Eunhae Choi +Seungbae Shin +Jeongmo Yang diff --git a/LICENSE.APLv2.0 b/LICENSE.APLv2.0 new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE.APLv2.0 @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/LICENSE.LGPLv2.1 b/LICENSE.LGPLv2.1 new file mode 100644 index 0000000..8add30a --- /dev/null +++ b/LICENSE.LGPLv2.1 @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..2854051 --- /dev/null +++ b/NOTICE @@ -0,0 +1,9 @@ +Copyright (c) Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under Apache License, Version 2. +Please, see the LICENSE.APLv2.0 file for Apache License terms and conditions. + +Some parts of media-config are licensed under the GNU Lesser General Public License version 2.1 +See the LICENSE.LGPLv2.1 file for LGPL License terms and conditions. +Specifically, the LGPL parts of media-config are + - */etc/* + - */usr/share/* diff --git a/media-config-simulator.manifest b/media-config-simulator.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-simulator.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-simulator/hal/etc/asound.conf b/media-config-simulator/hal/etc/asound.conf new file mode 100644 index 0000000..86fa895 --- /dev/null +++ b/media-config-simulator/hal/etc/asound.conf @@ -0,0 +1,11 @@ +# default sound configuration for simulator + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} diff --git a/media-config-simulator/hal/etc/inference/inference_engine.ini b/media-config-simulator/hal/etc/inference/inference_engine.ini new file mode 100644 index 0000000..54eddf2 --- /dev/null +++ b/media-config-simulator/hal/etc/inference/inference_engine.ini @@ -0,0 +1,3 @@ +[inference backend] +;/*OPENCV=0, Tensorflow-lite=1 +supported backend types = 0,1 diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-simulator/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..09a9a97 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 86, 88, 90 +notification = 0, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 95 +alarm = 0, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 90 +ringtone = 0, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 90 +media = 0, 44, 48, 52, 56, 61, 66, 70, 74, 78, 82, 85, 88, 91, 94, 97 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-simulator/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..a669d5b --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,109 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - SDK Camera +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-debug=3,avsysvideosrc:4 || NOT-USE-DEFAULT_VALUE +ModelName = TIZEN_SDK +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 0 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 2 +SupportMediaPacketPreviewCb = 1 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0 +VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 3,0 | qos,0 | sync,0 | enable-last-sample,0 +UseVideoscale = 0 +VideoscaleElement = videoscale | 1,0 | method,1 +UseVideoconvert = 1 +VideoconvertElement = videoconvert | 0,0 + +[VideoEncoder] +H263 = avenc_h263p | 1,0 | compliance, -2 +MPEG4 = avenc_mpeg4 | 1,0 | compliance, -2 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance, -2 +WAVE = wavenc | 0,0 +VORBIS = vorbisenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 1 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 +PlayCaptureSound = 1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 1 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 1 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 0 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +OGG = oggmux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-simulator/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..e0fa03c --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,194 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - SDK Camera. Mega Camera. +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = virtual driver +PreviewResolution = 176,144 | 320,240 | 352,288 | 640,480 || 640,480 +CaptureResolution = 176,144 | 320,240 | 352,288 | 640,480 || 640,480 +VideoResolution = 176,144 | 320,240 | 352,288 | 640,480 || 640,480 +FPS0 = 30 || 30 +FPS1 = 30 || 30 +FPS2 = 30 || 30 +FPS3 = 30 || 30 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED +PictureFormat = 4,7,8 || 4 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9) +RecommendPreviewResolution = 640,480 | 352,288 || 640,480 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; N/A +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 0,-255,-255,-255,-255,-255,-255,-255 || 0 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 1,20 || 10 +Contrast = 1,20 || 10 +Saturation = 1,20 || 10 +Sharpness = 1,20 || 10 + +; White balance - real setting value +;;; N/A +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUOROSCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; N/A +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:REC, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION_1, 19:SOLARIZATION_2, 20:SOLARIZATION_3, +;;; 21:SOLARIZATION_4, 22:SKETCH_1, 23:SKETCH_2, 24:SKETCH_3, 25:SKETCH_4 +ColorTone = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Flip - MSL value(convert array index) +;;; 0:NONE, 1:HORIZONTAL, 2:VERTICAL, 3:BOTH +Flip = 0,-255,-255,-255 || 0 + +; Wide Dynamic Range - real setting value +;;; N/A +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 10,30 || 10 +;OpticalZoom - Not support + +; Focus mode - real setting value +;;; N/A +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; N/A +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; N/A +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; N/A +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; N/A +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; N/A +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED +OutputMode = 4,7,8,13 || 13 +JpegQuality = 0,100 || 50 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; No need to convert +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_camcorder_camera1.ini b/media-config-simulator/hal/etc/multimedia/mmfw_camcorder_camera1.ini new file mode 100644 index 0000000..dd7626d --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_camcorder_camera1.ini @@ -0,0 +1,194 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - SDK Camera - VGA Camera +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = -255,0 || 0 +DeviceName = virtual driver +PreviewResolution = 176,144 | 320,240 | 352,288 | 640,480 || 640,480 +CaptureResolution = 176,144 | 320,240 | 352,288 | 640,480 || 640,480 +VideoResolution = 176,144 | 320,240 | 352,288 | 640,480 || 640,480 +FPS0 = 30 || 30 +FPS1 = 30 || 30 +FPS2 = 30 || 30 +FPS3 = 30 || 30 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED +PictureFormat = 4,7,8 || 4 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9) +RecommendPreviewResolution = 640,480 | 352,288 || 640,480 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 1 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; N/A +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 0,-255,-255,-255,-255,-255,-255,-255 || 0 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 1,20 || 10 +Contrast = 1,20 || 10 +Saturation = 1,20 || 10 +Sharpness = 1,20 || 10 + +; White balance - real setting value +;;; N/A +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUOROSCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; N/A +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:REC, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION_1, 19:SOLARIZATION_2, 20:SOLARIZATION_3, +;;; 21:SOLARIZATION_4, 22:SKETCH_1, 23:SKETCH_2, 24:SKETCH_3, 25:SKETCH_4 +ColorTone = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Flip - MSL value(convert array index) +;;; 0:NONE, 1:HORIZONTAL, 2:VERTICAL, 3:BOTH +Flip = 0,-255,-255,-255 || 0 + +; Wide Dynamic Range - real setting value +;;; N/A +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 10,30 || 10 +;OpticalZoom - Not support + +; Focus mode - real setting value +;;; N/A +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; N/A +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; N/A +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; N/A +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; N/A +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; N/A +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED +OutputMode = 4,7,8,13 || 13 +JpegQuality = 0,100 || 50 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; No need to convert +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-simulator/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..7898931 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = , , + +[mpeg4] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-simulator/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..47e2601 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd,maru + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = v4l2src + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_player.ini b/media-config-simulator/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..92306e9 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,132 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = ffmpegcolorspace + +; decoder element keyword for resource management. +video codec element hw = +video codec element sw = avdec,maru +video codec default type = sw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = ffdec_, omx_, v4l2 + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 150 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec + + +[rtsp streaming] + +rtspsrc element = rtspsrc + +rtsp buffering time = 5000; msec + +rtsp rebuffering time = 15000; msec + +rtsp do typefinding = no; if no, caps on rtspsrc:src pad will be used for autoplugging + +rtsp error concealment = yes + + +[hw accelation] +use video hw accel = no + + +[priority] + +use priority setting = no + +demux = 95 + +videosink = 96 + +audiosink = 97 + +ringbuffer = 98 diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-simulator/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-simulator/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..c3ed32e --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_encoder = -1 +camera = -1 +radio = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-simulator/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-simulator/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-simulator/hal/etc/multimedia/mused.conf b/media-config-simulator/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..38e07b8 --- /dev/null +++ b/media-config-simulator/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-simulator/hal/etc/murphy/murphy.lua b/media-config-simulator/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..3d4d93a --- /dev/null +++ b/media-config-simulator/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = true, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} + +resource.class { + name = "radio", + shareable = false, + sync_release = true +} diff --git a/media-config-simulator/hal/etc/profile.d/mmf.sh b/media-config-simulator/hal/etc/profile.d/mmf.sh new file mode 100755 index 0000000..7dac276 --- /dev/null +++ b/media-config-simulator/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-simulator/hal/etc/pulse/client.conf b/media-config-simulator/hal/etc/pulse/client.conf new file mode 100644 index 0000000..1ce9863 --- /dev/null +++ b/media-config-simulator/hal/etc/pulse/client.conf @@ -0,0 +1,33 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values a commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +; default-server = + +; autospawn = yes +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +; enable-shm = yes +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB diff --git a/media-config-simulator/hal/etc/pulse/daemon.conf b/media-config-simulator/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-simulator/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-simulator/hal/etc/pulse/default.pa b/media-config-simulator/hal/etc/pulse/default.pa new file mode 100755 index 0000000..c208aad --- /dev/null +++ b/media-config-simulator/hal/etc/pulse/default.pa @@ -0,0 +1,135 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically (it's probably better to not load +### these drivers manually, but instead use module-hal-detect -- +### see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-oss device="/dev/dsp" sink_name=output source_name=input +#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +#load-module module-udev-detect +.else +### Alternatively use the static hardware detection module (for systems that +### lack udev support) +#load-module module-detect +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp +#load-module module-zeroconf-publish + +### Load the RTP reciever module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user during runtime +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +load-module module-console-kit + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music streams when a phone stream is active +load-module module-cork-music-on-phone + +# X11 modules should not be started from default.pa so that one daemon +# can be shared by multiple sessions. + +### Load X11 bell module +#load-module module-x11-bell sample=bell-windowing-system + +### Register ourselves in the X11 session manager +#load-module module-x11-xsmp + +### Publish connection data in the X11 root window +#.ifexists module-x11-publish.so +#.nofail +#load-module module-x11-publish +#.fail +#.endif + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-simulator/hal/etc/pulse/device-map.json b/media-config-simulator/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..f7c7f0e --- /dev/null +++ b/media-config-simulator/hal/etc/pulse/device-map.json @@ -0,0 +1,44 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"builtin-receiver", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"audio-jack", + "playback-devices":{"normal":"alsa:0,0"}, + "capture-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"hdmi", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"bt-sco", + "playback-devices":{"normal":"alsa:0,0"}, + "capture-devices":{"normal":"alsa:0,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ], + "capture-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ] + } +} diff --git a/media-config-simulator/hal/etc/pulse/stream-map.json b/media-config-simulator/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..d5b6059 --- /dev/null +++ b/media-config-simulator/hal/etc/pulse/stream-map.json @@ -0,0 +1,254 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":0 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"ringbacktone-call", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-receiver","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic","audio-jack"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","audio-jack"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"call-video", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","audio-jack"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"radio", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["builtin-speaker","usb-audio"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-simulator/hal/etc/pulse/system.pa b/media-config-simulator/hal/etc/pulse/system.pa new file mode 100644 index 0000000..0e92784 --- /dev/null +++ b/media-config-simulator/hal/etc/pulse/system.pa @@ -0,0 +1,74 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 +load-module module-poweroff + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..90c2bb0 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-simulator/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-artik10.manifest b/media-config-target-artik10.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-artik10.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-artik10/hal/etc/asound.conf b/media-config-target-artik10/hal/etc/asound.conf new file mode 100644 index 0000000..acaf318 --- /dev/null +++ b/media-config-target-artik10/hal/etc/asound.conf @@ -0,0 +1,11 @@ +# default sound configuration + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..37246d4 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,102 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = ARTIK + +[VideoInput] +VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 0 +UseZeroCopyFormat = 0 +DeviceCount = 1 +SupportMediaPacketPreviewCb = 1 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0 +VideosinkElementRemote = tizenipcsink | 4,0 | permissions,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 0 +VideoscaleElement = videoscale | 1,0 | method,1 +UseVideoconvert = 1 +VideoconvertElement = videoconvert | 0,0 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 + +[Capture] +UseEncodebin = 1 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 0 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 1 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..607ab82 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,207 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = S5K5EA +PreviewResolution = 640,480 | 1280,720 | 1280,960 || 1280,720 +CaptureResolution = 640,480 | 1280,720 | 1280,960 | 2560,1440 || 1280,720 +VideoResolution = 640,480 | 1280,720 | 1280,960 || 640,480 +FPS0 = 15,30 || 15 +FPS1 = 15,30 || 15 +FPS2 = 15 || 15 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 7 || 7 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 3 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 1280,960 | 1280,720 | 1280,960 || 1280,720 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; 0:BASE, 1:OFF, 2:AUTO, 3:ON, 4:TORCH, 5:MAX +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 1,-255,-255,-255,-255,-255,-255,-255 || 1 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +;Brightness = 0,8 || 4 +;Contrast = 1,7 || 4 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 0,10 || 0 +;OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 7,13 || 13 +JpegQuality = 1,100 || 95 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..34566de --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd,nxvideo + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = v4l2src + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_player.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..ff5b3b9 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = nxvideodec +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2,omx + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..082f297 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-artik10/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-artik10/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-artik10/hal/etc/multimedia/mused.conf b/media-config-target-artik10/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..38e07b8 --- /dev/null +++ b/media-config-target-artik10/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-artik10/hal/etc/murphy/murphy.lua b/media-config-target-artik10/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..9675961 --- /dev/null +++ b/media-config-target-artik10/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-artik10/hal/etc/profile.d/mmf.sh b/media-config-target-artik10/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-artik10/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-artik10/hal/etc/pulse/client.conf b/media-config-target-artik10/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-artik10/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-artik10/hal/etc/pulse/daemon.conf b/media-config-target-artik10/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-artik10/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-artik10/hal/etc/pulse/default.pa b/media-config-target-artik10/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-artik10/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-artik10/hal/etc/pulse/device-map.json b/media-config-target-artik10/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..d241012 --- /dev/null +++ b/media-config-target-artik10/hal/etc/pulse/device-map.json @@ -0,0 +1,26 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:0,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"mmap=0 rate=44100"} + } + ], + "capture-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ] + } +} diff --git a/media-config-target-artik10/hal/etc/pulse/stream-map.json b/media-config-target-artik10/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..245d950 --- /dev/null +++ b/media-config-target-artik10/hal/etc/pulse/stream-map.json @@ -0,0 +1,209 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["usb-audio"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-target-artik10/hal/etc/pulse/system.pa b/media-config-target-artik10/hal/etc/pulse/system.pa new file mode 100644 index 0000000..409cdb3 --- /dev/null +++ b/media-config-target-artik10/hal/etc/pulse/system.pa @@ -0,0 +1,73 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification,voice-information ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a8d08b --- /dev/null +++ b/media-config-target-artik10/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,127 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:%f +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-hawkp.manifest b/media-config-target-hawkp.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-hawkp.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-hawkp/hal/etc/asound.conf b/media-config-target-hawkp/hal/etc/asound.conf new file mode 100644 index 0000000..f717a3e --- /dev/null +++ b/media-config-target-hawkp/hal/etc/asound.conf @@ -0,0 +1,50 @@ +pcm. !default { + type asym + playback.pcm { + type hw + card 0 + device 0 + } + capture.pcm { + type hw + card 0 + device 0 + } +} + +ctl. !default { + type hw + card 0 +} + +pcm. AIF2{ + type hw + card 0 + device 1 + format S16_LE + channels 2 + rate 8000 +} + +pcm. AIF3{ + type hw + card 0 + device 2 + format S16_LE + channels 2 + rate 8000 +} + +pcm. AIF4{ + type hw + card 0 + device 4 + format S16_LE + channels 2 + rate 44100 +} + +ctl. wm1811 { + type hw + card 0 +} diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..45a912f --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 66, 69, 72, 75, 78, 81, 84, 86, 88, 90, 92, 94, 96, 98, 100 +notification = 0, 66, 69, 72, 75, 78, 81, 84, 86, 88, 90, 92, 94, 96, 98, 100 +alarm = 0, 66, 69, 72, 75, 78, 81, 84, 86, 88, 90, 92, 94, 96, 98, 100 +ringtone = 0, 66, 69, 72, 75, 78, 81, 84, 86, 88, 90, 92, 94, 96, 98, 100 +media = 0, 66, 69, 72, 75, 78, 81, 84, 86, 88, 90, 92, 94, 96, 98, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 66, 69, 72, 75, 78, 81, 84, 86, 88, 90, 92, 94, 96, 98, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..36dce1a --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = GT-TIZEN +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = tvcamerasrc | 1,1 | do-timestamp,1 | device,/dev/video241 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 1 + +[AudioInput] +AudioDevice = 0 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0 +VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 1 +VideoscaleElement = fimcconvert | 1,0 | rotang,0 +VideodecoderElementH264 = avdec_h264 | 0,0 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 +MP3 = lame | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 0 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 0 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 0 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = avmux_3gp | 0,0 +AMR = avmux_amr | 0,0 +MP4 = avmux_mp4 | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..5b770de --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,213 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = TV_USB_Camera +PreviewResolution = 160,90 | 160,120 | 320,180 | 320,240 | 640,360 | 640,480 | 1280,720 | 1440,1080 | 1920,1080 || 1920,1080 +CaptureResolution = 1920,1080 || 1920,1080 +VideoResolution = 160,90 | 160,120 | 320,180 | 320,240 | 640,360 | 640,480 | 1280,720 | 1440,1080 | 1920,1080 || 1920,1080 +FPS0 = 0,8,15,24,25,30,60,120 || 30 +FPS1 = 0,8,15,24,25,30,60,120 || 30 +FPS2 = 0,8,15,24,25,30,60,120 || 30 +FPS3 = 0,8,15,24,25,30,60,120 || 30 +FPS4 = 0,8,15,24,25,30,60,120 || 30 +FPS5 = 0,8,15,24,25,30,60,120 || 30 +FPS6 = 0,8,15,24,25,30,60,120 || 30 +FPS7 = 0,8,15,24,25,30,60,120 || 30 +FPS8 = 0,8,15,24,25,30,60,120 || 30 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 15 || 15 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 15 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 15 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 1440,1080 | 1920,1080 | 1440,1080 || 1920,1080 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; 0:BASE, 1:OFF, 2:AUTO, 3:ON, 4:TORCH, 5:MAX +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 1,-255,-255,-255,-255,-255,-255,-255 || 1 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +Contrast = 1,7 || 4 +Saturation = 0,4 || 2 +Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,1,2,3,5,4,-255,-255,-255,-255 || 1 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,2,3,6,-255,-255,4,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,12,8,9,10,11,13,20,-255,17,14,-255,15 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +DigitalZoom = 0,10 || 0 +OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,1,2,-255,-255,3,-255,-255,-255 || 1 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,2,3,4,5,6,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 1,2,5,6,7,8,9,10,11,3,12,13,-255,14,4 || 1 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +PtzType = 0,1 || 1 + +; Pan range for mechanical movement +PanMecha = -10,10 + +; Pan range for electronic movement +PanElec = -10,10 + +; Tilt range for mechanical movement +TiltMecha = -10,10 + +; Tilt range for electronic movement +TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 13 || 13 +JpegQuality = 0,100 || 90 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 1 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..66b7abb --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, MPEG4_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..fa7e336 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,123 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_player.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..01f0c65 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = ; omx is included in this target but it is not verified. +video codec element sw = avdec +video codec default type = sw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2,omx + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..082f297 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-hawkp/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-hawkp/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-hawkp/hal/etc/multimedia/mused.conf b/media-config-target-hawkp/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..dc27fec --- /dev/null +++ b/media-config-target-hawkp/hal/etc/multimedia/mused.conf @@ -0,0 +1,62 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 diff --git a/media-config-target-hawkp/hal/etc/murphy/murphy.lua b/media-config-target-hawkp/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..14287c9 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-hawkp/hal/etc/profile.d/mmf.sh b/media-config-target-hawkp/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-hawkp/hal/etc/pulse/client.conf b/media-config-target-hawkp/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-hawkp/hal/etc/pulse/daemon.conf b/media-config-target-hawkp/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-hawkp/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-hawkp/hal/etc/pulse/default.pa b/media-config-target-hawkp/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-hawkp/hal/etc/pulse/device-map.json b/media-config-target-hawkp/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..f583b34 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/pulse/device-map.json @@ -0,0 +1,16 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:0,1"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:0,1", + "role":{"normal":"mmap=0 tsched=0 rate=48000"} + } + ] + } +} diff --git a/media-config-target-hawkp/hal/etc/pulse/stream-map.json b/media-config-target-hawkp/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..c48442f --- /dev/null +++ b/media-config-target-hawkp/hal/etc/pulse/stream-map.json @@ -0,0 +1,246 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + } + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["audio-jack","usb-audio","builtin-mic"], + "avail-out-devices":["forwarding","audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["forwarding","audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker","audio-jack","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["audio-jack","bt-sco","builtin-mic"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-sco"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["audio-jack","bt-sco","builtin-mic"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"call-video", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["audio-jack","bt-sco","builtin-mic"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"radio", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["builtin-speaker","usb-audio"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback-mirroring", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["forwarding"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["wav-player","tone-player","sound-manager"] + } + ] +} diff --git a/media-config-target-hawkp/hal/etc/pulse/system.pa b/media-config-target-hawkp/hal/etc/pulse/system.pa new file mode 100644 index 0000000..aacc4b1 --- /dev/null +++ b/media-config-target-hawkp/hal/etc/pulse/system.pa @@ -0,0 +1,64 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/voice-information ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,system,alarm,notification,ext-media volume=0%/30% + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a8d08b --- /dev/null +++ b/media-config-target-hawkp/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,127 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:%f +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-n4.manifest b/media-config-target-n4.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-n4.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-n4/hal/etc/asound.conf b/media-config-target-n4/hal/etc/asound.conf new file mode 100644 index 0000000..acaf318 --- /dev/null +++ b/media-config-target-n4/hal/etc/asound.conf @@ -0,0 +1,11 @@ +# default sound configuration + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} diff --git a/media-config-target-n4/hal/etc/inference/inference_engine.ini b/media-config-target-n4/hal/etc/inference/inference_engine.ini new file mode 100644 index 0000000..54eddf2 --- /dev/null +++ b/media-config-target-n4/hal/etc/inference/inference_engine.ini @@ -0,0 +1,3 @@ +[inference backend] +;/*OPENCV=0, Tensorflow-lite=1 +supported backend types = 0,1 diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..09a9a97 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 86, 88, 90 +notification = 0, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 95 +alarm = 0, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 90 +ringtone = 0, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 90 +media = 0, 44, 48, 52, 56, 61, 66, 70, 74, 78, 82, 85, 88, 91, 94, 97 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..fc34208 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = GT-TIZEN +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = videotestsrc | 2,0 | do-timestamp,1 | is-live,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 2 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,1 +VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 1 +VideoscaleElement = fimcconvert | 1,0 | rotang,0 +;VideoscaleElement = videoscale + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 1 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 0 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 1 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = avmux_3gp | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..fd96f16 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,206 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = TEST_CAMERA_0 +PreviewResolution = 320,240 | 640,480 || 320,240 +CaptureResolution = 320,240 | 640,480 || 640,480 +VideoResolution = 320,240 | 640,480 || 640,480 +FPS0 = 0,15,30 || 15 +FPS1 = 0,15,30 || 15 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 7 || 7 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 320,240 | 320,240 | 320,240 || 320,240 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; 0:BASE, 1:OFF, 2:AUTO, 3:ON, 4:TORCH, 5:MAX +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 1,3,2,-255,-255,-255,-255,4 || 2 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = 1,7 || 4 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 0,10 || 0 +;OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 7,13 || 13 +JpegQuality = 0,100 || 90 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder_camera1.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder_camera1.ini new file mode 100644 index 0000000..a8d1a35 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_camcorder_camera1.ini @@ -0,0 +1,206 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = TEST_CAMERA_1 +PreviewResolution = 320,240 | 640,480 || 320,240 +CaptureResolution = 320,240 | 640,480 || 640,480 +VideoResolution = 320,240 | 640,480 || 640,480 +FPS0 = 0,15,30 || 15 +FPS1 = 0,15,30 || 15 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 7 || 7 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 320,240 | 320,240 | 320,240 || 320,240 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; 0:BASE, 1:OFF, 2:AUTO, 3:ON, 4:TORCH, 5:MAX +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 1,3,2,-255,-255,-255,-255,4 || 2 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = 1,7 || 4 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 0,10 || 0 +;OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 7,13 || 13 +JpegQuality = 0,100 || 90 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..488d6a8 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_player.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..e900636 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = omx +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2 + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..082f297 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-n4/hal/etc/multimedia/mmfw_wfd_sink.ini b/media-config-target-n4/hal/etc/multimedia/mmfw_wfd_sink.ini new file mode 100644 index 0000000..9d78b2b --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mmfw_wfd_sink.ini @@ -0,0 +1,231 @@ +[general] +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=2,*wfd*:5) +gstparam1 = --gst-debug=2,*wfd*:5,*wfdtsdemux:1,*wfdrtpbuffer:1 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; allowed timeout for changing pipeline state +state change timeout = 5; sec + +; 0: default value set by wfdrtspsrc element, other: user define value. +jitter buffer latency=10 + +; for retransmission request enable = yes, disable = no +enable retransmission = no + +; for reset basetime, enable = yes, disable = no +enable reset basetime = yes + +; Maximum number of nanoseconds that a buffer can be late before it is dropped by videosink (-1 unlimited) +video sink max lateness=20000000 + +; nanoseconds to be added to buffertimestamp by sink elements +sink ts offset=250000000 + +; if no, go asynchronously to PAUSED without preroll +audio sink async=no + +; if no, go asynchronously to PAUSED without preroll +video sink async=no + +; user agent +user agent = + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell +generate dot = no + +; set property to wfdsrc plugin for dumping rtsp message +dump rtsp message = yes + +; enable tracing buffers using pad probe +trace buffers = no + +; enable tracing first buffer +trace first buffer = no + +; enable tracing buffers of wfdsrc +trace buffers of wfdsrc = no + +; enable dumping ts data (eg. /var/tmp/*.ts) +dump ts data = no + +; enable dumping rtp data (eg. /var/tmp/screenmirroring_sink_rtp.dump) +dump rtp data = no + + +[pipeline] +wfdsrc element = wfdsrc + +tsdemux element = wfdtsdemux + +audio hdcp element = + +aac parser element = aacparse + +aac decoder element = avdec_aac + +ac3 parser element = ac3parse + +ac3 decoder element = + +lpcm converter element = + +lpcm filter element = capsfilter + +audio resampler element = audioconvert + +audio volume element = + +audio sinkbin queue element = ;queue + +audio sink element = pulsesink + +video hdcp element = + +video h264 parser element = h264parse + +video h265 parser element = + +video h264 decoder element = avdec_h264 + +video h265 decoder element = + +video converter element = + +video filter element = + +video sink element = tizenwlsink + +video evas sink element = evaspixmapsink + + +[wfd audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +audio latency=0x0 + +;0x1 : 48000khz, 0x2: 44100khz +audio sampling frequency=0x3 + +; 0x1:2 channels, 0x2:4 channels, 0x4:6channels, 0x8:8channels +audio channels=0x1 + + +[wfd video formats] +; 0x0:not support, 0x1:H264 +video codec=0x1 + +; 0x0:not supoort, 0x1: CHP, 0x2:CBP +video profile=0x1 + +video native resolution = 0x20 + +video cea support=0x84ab;0x194ab + +video vesa support=0x1;0x5555555 + +video hh support=0x555 + +; 0x1:base, 0x2:high +video profile=0x1 + +; 0x1:level_3_1, 0x2:level_3_2, 0x4:level_4, 0x8:level_4_1, 0x10:level_4_2 +video level=0x2 + +video latency=0x0 + +video vertical resolution=720 + +video horizontal resolution=1280 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=11 + + +[wfd hdcp content protection] +enable hdcp = no + +;0x0:none, 0x1:HDCP_2.0, 0x2:HDCP_2.1 +hdcp content protection=0x0 + +hdcp port no=0 + + +[wfd2 video formats] +;0x0:not support, 0x1:H264, 0x2:H265, 0x3:both +video codec=0x3 + +video native resolution = 0x20 + +video non transcoding support=1 + +[wfd2 h264 video format] +video cea support=0x194ab + +video vesa support=0x5555555 + +video hh support=0x555 + +video profile=0x1 + +video level=0x2 + +video latency=0x0 + +video vertical resolution=1080 + +video horizontal resolution=1920 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 h265 video format] +video cea support=394ab + +video vesa support=5555555 + +video hh support=555 + +; 0x1:WFD_H265_MAIN_PROFILE +video profile=0x1 + +; 0x1:WFD_H265_LEVEL_3_1 +video level=0x2 + +video latency=0x0 + +video vertical resolution=2360 + +video horizontal resolution=3840 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +;see mm_wfd_sink_wfd_enum.h +audio lpcm mode=0x3 + +audio aac mode=0x1 + +audio ac3 mode=0x1 + diff --git a/media-config-target-n4/hal/etc/multimedia/mused.conf b/media-config-target-n4/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..38e07b8 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-n4/hal/etc/multimedia/scmirroring_src.ini b/media-config-target-n4/hal/etc/multimedia/scmirroring_src.ini new file mode 100644 index 0000000..6131d26 --- /dev/null +++ b/media-config-target-n4/hal/etc/multimedia/scmirroring_src.ini @@ -0,0 +1,114 @@ + +[general] + +; set default video source element +; 0: ximagesrc, 1: xvimagesrc, 2: camerasrc, 3: videotestsrc, 4:waylandsrc +videosrc element = 4 + +; set default video encoder element +video encoder element = omxenc_h264 + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +mtu_size value = 1400 + +video converter element = + +; if yes. gstreamer will not update registry +skip rescan = yes + +; set default audio encoder element +audio encoder aac name = avenc_aac +audio encoder ac3 name = avenc_ac3 + +; set audio codec for source +; according to GstWFDAudioFormat +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +; default aac and LPCM +audio codec = 0x3 + +; set exynos audiosrc property +; exynosaudio device name = alsa_output.0.analog-stereo.monitor +exynosaudio device name = alsa_output.hw_0_0.monitor +audio properties name = props,media.role=loopback-mirroring + +exynosaudio buffer_time = 200000 +; set qcmsm audiosrc property +qcmsmaudio device name = hw:0,8 +qcmsmaudio buffer_time = 1000 + +audio latency_time = 10000 +audio do_timestamp = 0 + +; set video codec for source +; according to GstWFDVideoFormat +; 0x0: Not supportted, 0x1: H264 +; default H.264 +video codec = 0x1 + +; Video Resolutions supported need to be filled in 32 bits according to WFD spec +video resolution_supported = 0x00000001 + +; Bitrate range for different resolutions +; Resolution Set 1: default +; Resolution Set 2: 1920 x 1080 +; Resolution Set 3: 1280 x 720 +; Resolution Set 4: 960 x 540 +; Resolution Set 5: 854 x 480 +; Resolution Set 6: 640 x 360 +; Resolution Set 7: 720 Remote Touch +; UDP bitrate settings +INIT_UDP_resolution_set_1 = 1048576 +MIN_UDP_resolution_set_1 = 838861 +MAX_UDP_resolution_set_1 = 1572864 + +INIT_UDP_resolution_set_2 = 5242880 +MIN_UDP_resolution_set_2 = 3670016 +MAX_UDP_resolution_set_2 = 6291456 + +INIT_UDP_resolution_set_3 = 2621440 +MIN_UDP_resolution_set_3 = 1572864 +MAX_UDP_resolution_set_3 = 3145728 + +INIT_UDP_resolution_set_4 = 2621440 +MIN_UDP_resolution_set_4 = 1572864 +MAX_UDP_resolution_set_4 = 3145728 + +INIT_UDP_resolution_set_5 = 838861 +MIN_UDP_resolution_set_5 = 314573 +MAX_UDP_resolution_set_5 = 1048576 + +INIT_UDP_resolution_set_6 = 838861 +MIN_UDP_resolution_set_6 = 314573 +MAX_UDP_resolution_set_6 = 838861 + +INIT_UDP_resolution_set_7 = 1572864 +MIN_UDP_resolution_set_7 = 838861 +MAX_UDP_resolution_set_7 = 1572864 + + +; Native resolution supported CEA resolution=0, VESA resolution=1, HH resolution=2 +video native_resolution = 0 + +; HDCP encryption +encryption HDCP_enabled = 1 + +; UIBC Capability +uibc UIBC_GEN_capability = 15 + +; parameters for initializing gstreamer +gstparam1 = +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +generate dot = no + +; parameter for clock provide in audiosink +provide clock = yes + +;dumping ts stream to file +dump ts = 0 + diff --git a/media-config-target-n4/hal/etc/murphy/murphy.lua b/media-config-target-n4/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..e7d832d --- /dev/null +++ b/media-config-target-n4/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-n4/hal/etc/profile.d/mmf.sh b/media-config-target-n4/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..9296ba2 --- /dev/null +++ b/media-config-target-n4/hal/etc/profile.d/mmf.sh @@ -0,0 +1,4 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-n4/hal/etc/pulse/client.conf b/media-config-target-n4/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-n4/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-n4/hal/etc/pulse/daemon.conf b/media-config-target-n4/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-n4/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-n4/hal/etc/pulse/default.pa b/media-config-target-n4/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-n4/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-n4/hal/etc/pulse/device-map.json b/media-config-target-n4/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..f7c7f0e --- /dev/null +++ b/media-config-target-n4/hal/etc/pulse/device-map.json @@ -0,0 +1,44 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"builtin-receiver", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"audio-jack", + "playback-devices":{"normal":"alsa:0,0"}, + "capture-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"hdmi", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"bt-sco", + "playback-devices":{"normal":"alsa:0,0"}, + "capture-devices":{"normal":"alsa:0,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ], + "capture-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ] + } +} diff --git a/media-config-target-n4/hal/etc/pulse/stream-map.json b/media-config-target-n4/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..a68a1dc --- /dev/null +++ b/media-config-target-n4/hal/etc/pulse/stream-map.json @@ -0,0 +1,263 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["forwarding","audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["forwarding","audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"ringbacktone-call", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-receiver","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic","audio-jack","bt-sco"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack","bt-sco"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","audio-jack","bt-sco"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"call-video", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","audio-jack","bt-sco"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"radio", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["builtin-mic","usb-audio"], + "avail-out-devices":["builtin-speaker","usb-audio","bt-a2dp"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback-mirroring", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["forwarding"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-target-n4/hal/etc/pulse/system.pa b/media-config-target-n4/hal/etc/pulse/system.pa new file mode 100644 index 0000000..0e92784 --- /dev/null +++ b/media-config-target-n4/hal/etc/pulse/system.pa @@ -0,0 +1,74 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 +load-module module-poweroff + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-n4/hal/etc/xdg/gstomx.conf b/media-config-target-n4/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..4533527 --- /dev/null +++ b/media-config-target-n4/hal/etc/xdg/gstomx.conf @@ -0,0 +1,78 @@ +[omxdec_mpeg2] +type-name=GstOMXMPEG2VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG2.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_mpeg4] +type-name=GstOMXMPEG4VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_h263] +type-name=GstOMXH263Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_h264] +type-name=GstOMXH264Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxenc_h264] +type-name=GstOMXH264Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-disable-outport;no-component-role +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] +src-template-caps=video/x-h264, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction) [0/1, MAX], alignment=(string) au, stream-format = (string){ avc, byte-stream } + +[omxenc_mpeg4] +type-name=GstOMXMPEG4VideoEnc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport + +[omxenc_h263] +type-name=GstOMXH263Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a7fd50 --- /dev/null +++ b/media-config-target-n4/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,119 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-rpi3-spk.manifest b/media-config-target-rpi3-spk.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-rpi3-spk.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-rpi3-spk/hal/etc/asound.conf b/media-config-target-rpi3-spk/hal/etc/asound.conf new file mode 100644 index 0000000..dc87ead --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/asound.conf @@ -0,0 +1,16 @@ +# default sound configuration + +pcm. !default { + type hw + card ALSA +} + +ctl. !default { + type hw + card ALSA +} + +ctl. bcm2835 { + type hw + card ALSA +} diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..2ce8bf3 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,102 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = GT-TIZEN +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 1 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0 +VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoconvert = 1 +VideoconvertElement = videoconvert | 0,0 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 1 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 0 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 1 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..728196e --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,208 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = USB_CAMERA +PreviewResolution = 320,240 | 640,480 || 320,240 +CaptureResolution = 320,240 | 640,480 || 640,480 +VideoResolution = 320,240 | 640,480 || 640,480 +FPS0 = 0,15,30 || 15 +FPS1 = 0,15,30 || 15 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 7 || 7 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 320,240 | 320,240 | 320,240 || 320,240 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 +FrameStabilityCount = 1 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; N/A +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 0,-255,-255,-255,-255,-255,-255,-255 || 0 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = 1,7 || 4 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 0,10 || 0 +;OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 7,13 || 13 +JpegQuality = 0,100 || 90 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 +FrameStabilityCount = 2 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..527ab99 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = v4l2src + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_player.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..a4fbc50 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = +video codec element sw = avdec +video codec default type = sw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2,omx + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..082f297 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_wfd_sink.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_wfd_sink.ini new file mode 100644 index 0000000..9d78b2b --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mmfw_wfd_sink.ini @@ -0,0 +1,231 @@ +[general] +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=2,*wfd*:5) +gstparam1 = --gst-debug=2,*wfd*:5,*wfdtsdemux:1,*wfdrtpbuffer:1 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; allowed timeout for changing pipeline state +state change timeout = 5; sec + +; 0: default value set by wfdrtspsrc element, other: user define value. +jitter buffer latency=10 + +; for retransmission request enable = yes, disable = no +enable retransmission = no + +; for reset basetime, enable = yes, disable = no +enable reset basetime = yes + +; Maximum number of nanoseconds that a buffer can be late before it is dropped by videosink (-1 unlimited) +video sink max lateness=20000000 + +; nanoseconds to be added to buffertimestamp by sink elements +sink ts offset=250000000 + +; if no, go asynchronously to PAUSED without preroll +audio sink async=no + +; if no, go asynchronously to PAUSED without preroll +video sink async=no + +; user agent +user agent = + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell +generate dot = no + +; set property to wfdsrc plugin for dumping rtsp message +dump rtsp message = yes + +; enable tracing buffers using pad probe +trace buffers = no + +; enable tracing first buffer +trace first buffer = no + +; enable tracing buffers of wfdsrc +trace buffers of wfdsrc = no + +; enable dumping ts data (eg. /var/tmp/*.ts) +dump ts data = no + +; enable dumping rtp data (eg. /var/tmp/screenmirroring_sink_rtp.dump) +dump rtp data = no + + +[pipeline] +wfdsrc element = wfdsrc + +tsdemux element = wfdtsdemux + +audio hdcp element = + +aac parser element = aacparse + +aac decoder element = avdec_aac + +ac3 parser element = ac3parse + +ac3 decoder element = + +lpcm converter element = + +lpcm filter element = capsfilter + +audio resampler element = audioconvert + +audio volume element = + +audio sinkbin queue element = ;queue + +audio sink element = pulsesink + +video hdcp element = + +video h264 parser element = h264parse + +video h265 parser element = + +video h264 decoder element = avdec_h264 + +video h265 decoder element = + +video converter element = + +video filter element = + +video sink element = tizenwlsink + +video evas sink element = evaspixmapsink + + +[wfd audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +audio latency=0x0 + +;0x1 : 48000khz, 0x2: 44100khz +audio sampling frequency=0x3 + +; 0x1:2 channels, 0x2:4 channels, 0x4:6channels, 0x8:8channels +audio channels=0x1 + + +[wfd video formats] +; 0x0:not support, 0x1:H264 +video codec=0x1 + +; 0x0:not supoort, 0x1: CHP, 0x2:CBP +video profile=0x1 + +video native resolution = 0x20 + +video cea support=0x84ab;0x194ab + +video vesa support=0x1;0x5555555 + +video hh support=0x555 + +; 0x1:base, 0x2:high +video profile=0x1 + +; 0x1:level_3_1, 0x2:level_3_2, 0x4:level_4, 0x8:level_4_1, 0x10:level_4_2 +video level=0x2 + +video latency=0x0 + +video vertical resolution=720 + +video horizontal resolution=1280 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=11 + + +[wfd hdcp content protection] +enable hdcp = no + +;0x0:none, 0x1:HDCP_2.0, 0x2:HDCP_2.1 +hdcp content protection=0x0 + +hdcp port no=0 + + +[wfd2 video formats] +;0x0:not support, 0x1:H264, 0x2:H265, 0x3:both +video codec=0x3 + +video native resolution = 0x20 + +video non transcoding support=1 + +[wfd2 h264 video format] +video cea support=0x194ab + +video vesa support=0x5555555 + +video hh support=0x555 + +video profile=0x1 + +video level=0x2 + +video latency=0x0 + +video vertical resolution=1080 + +video horizontal resolution=1920 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 h265 video format] +video cea support=394ab + +video vesa support=5555555 + +video hh support=555 + +; 0x1:WFD_H265_MAIN_PROFILE +video profile=0x1 + +; 0x1:WFD_H265_LEVEL_3_1 +video level=0x2 + +video latency=0x0 + +video vertical resolution=2360 + +video horizontal resolution=3840 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +;see mm_wfd_sink_wfd_enum.h +audio lpcm mode=0x3 + +audio aac mode=0x1 + +audio ac3 mode=0x1 + diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/mused.conf b/media-config-target-rpi3-spk/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..38e07b8 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-rpi3-spk/hal/etc/multimedia/scmirroring_src.ini b/media-config-target-rpi3-spk/hal/etc/multimedia/scmirroring_src.ini new file mode 100644 index 0000000..68103c5 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/multimedia/scmirroring_src.ini @@ -0,0 +1,114 @@ + +[general] + +; set default video source element +; 0: ximagesrc, 1: xvimagesrc, 2: camerasrc, 3: videotestsrc, 4:waylandsrc +videosrc element = 4 + +; set default video encoder element +video encoder element = omxh264enc + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +mtu_size value = 1400 + +video converter element = + +; if yes. gstreamer will not update registry +skip rescan = yes + +; set default audio encoder element +audio encoder aac name = avenc_aac +audio encoder ac3 name = avenc_ac3 + +; set audio codec for source +; according to GstWFDAudioFormat +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +; default aac and LPCM +audio codec = 0x3 + +; set exynos audiosrc property +; exynosaudio device name = alsa_output.0.analog-stereo.monitor +exynosaudio device name = alsa_output.hw_0_0.monitor +audio properties name = props,media.role=loopback-mirroring + +exynosaudio buffer_time = 200000 +; set qcmsm audiosrc property +qcmsmaudio device name = hw:0,8 +qcmsmaudio buffer_time = 1000 + +audio latency_time = 10000 +audio do_timestamp = 0 + +; set video codec for source +; according to GstWFDVideoFormat +; 0x0: Not supportted, 0x1: H264 +; default H.264 +video codec = 0x1 + +; Video Resolutions supported need to be filled in 32 bits according to WFD spec +video resolution_supported = 0x00000001 + +; Bitrate range for different resolutions +; Resolution Set 1: default +; Resolution Set 2: 1920 x 1080 +; Resolution Set 3: 1280 x 720 +; Resolution Set 4: 960 x 540 +; Resolution Set 5: 854 x 480 +; Resolution Set 6: 640 x 360 +; Resolution Set 7: 720 Remote Touch +; UDP bitrate settings +INIT_UDP_resolution_set_1 = 1048576 +MIN_UDP_resolution_set_1 = 838861 +MAX_UDP_resolution_set_1 = 1572864 + +INIT_UDP_resolution_set_2 = 5242880 +MIN_UDP_resolution_set_2 = 3670016 +MAX_UDP_resolution_set_2 = 6291456 + +INIT_UDP_resolution_set_3 = 2621440 +MIN_UDP_resolution_set_3 = 1572864 +MAX_UDP_resolution_set_3 = 3145728 + +INIT_UDP_resolution_set_4 = 2621440 +MIN_UDP_resolution_set_4 = 1572864 +MAX_UDP_resolution_set_4 = 3145728 + +INIT_UDP_resolution_set_5 = 838861 +MIN_UDP_resolution_set_5 = 314573 +MAX_UDP_resolution_set_5 = 1048576 + +INIT_UDP_resolution_set_6 = 838861 +MIN_UDP_resolution_set_6 = 314573 +MAX_UDP_resolution_set_6 = 838861 + +INIT_UDP_resolution_set_7 = 1572864 +MIN_UDP_resolution_set_7 = 838861 +MAX_UDP_resolution_set_7 = 1572864 + + +; Native resolution supported CEA resolution=0, VESA resolution=1, HH resolution=2 +video native_resolution = 0 + +; HDCP encryption +encryption HDCP_enabled = 1 + +; UIBC Capability +uibc UIBC_GEN_capability = 15 + +; parameters for initializing gstreamer +gstparam1 = +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +generate dot = no + +; parameter for clock provide in audiosink +provide clock = yes + +;dumping ts stream to file +dump ts = 0 + diff --git a/media-config-target-rpi3-spk/hal/etc/murphy/murphy.lua b/media-config-target-rpi3-spk/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..9675961 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-rpi3-spk/hal/etc/profile.d/mmf.sh b/media-config-target-rpi3-spk/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-rpi3-spk/hal/etc/pulse/client.conf b/media-config-target-rpi3-spk/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-rpi3-spk/hal/etc/pulse/daemon.conf b/media-config-target-rpi3-spk/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-rpi3-spk/hal/etc/pulse/default.pa b/media-config-target-rpi3-spk/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-rpi3-spk/hal/etc/pulse/device-map.json b/media-config-target-rpi3-spk/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..d9d3499 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/pulse/device-map.json @@ -0,0 +1,34 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:ALSA,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:seeed4micvoicec,0"} + }, + { + "device-type":"network", + "playback-devices":{"acm":"acm"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:ALSA,0", + "role":{"normal":"mmap=0 tsched=0 rate=44100"} + }, + { + "device-string":"acm", + "role":{"acm":"format=s16le rate=48000 channels=2 channel_map=left,right"} + } + ], + "capture-devices":[ + { + "device-string":"alsa:seeed4micvoicec,0", + "role":{"normal":"mmap=0 tsched=0 rate=48000"} + } + ] + } +} diff --git a/media-config-target-rpi3-spk/hal/etc/pulse/stream-map.json b/media-config-target-rpi3-spk/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..e186c2c --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/pulse/stream-map.json @@ -0,0 +1,209 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["network","bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["builtin-speaker","usb-audio"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"network-source-media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["audio-io"] + } + ] +} diff --git a/media-config-target-rpi3-spk/hal/etc/pulse/system.pa b/media-config-target-rpi3-spk/hal/etc/pulse/system.pa new file mode 100644 index 0000000..72704a4 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/pulse/system.pa @@ -0,0 +1,74 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification,voice-information ducking_roles=media,system,alarm,notification,voice-information,ext-media,network-source-media/media,ext-media,network-source-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 skip_sinks=ACM_Sink + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-rpi3-spk/hal/etc/xdg/gstomx.conf b/media-config-target-rpi3-spk/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..7a92953 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/etc/xdg/gstomx.conf @@ -0,0 +1,84 @@ +[omxmpeg2videodec] +type-name=GstOMXMPEG2VideoDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxmpeg4videodec] +type-name=GstOMXMPEG4VideoDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxh263dec] +type-name=GstOMXH263Dec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxh264dec] +type-name=GstOMXH264Dec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxmjpegdec] +type-name=GstOMXMJPEGDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxvc1dec] +type-name=GstOMXWMVDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role +sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},width=(int)[1,MAX],height=(int)[1,MAX] + +[omxh264enc] +type-name=GstOMXH264Enc +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_encode +rank=257 +in-port-index=200 +out-port-index=201 +hacks=no-component-role + +[omxanalogaudiosink] +type-name=GstOMXAnalogAudioSink +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.audio_render +rank=257 +in-port-index=100 +out-port-index=101 +hacks=no-component-role +sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)interleaved,rate=(int){8000,11025,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000},channels=(int)[1,2] + +[omxhdmiaudiosink] +type-name=GstOMXHdmiAudioSink +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.audio_render +rank=258 +in-port-index=100 +out-port-index=101 +hacks=no-component-role +sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)interleaved,rate=(int){8000,11025,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000},channels=(int)[1,8];audio/x-ac3,framed=(boolean)true;audio/x-dts,framed=(boolean)true,block-size=(int){512,1024,2048} + diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a8d08b --- /dev/null +++ b/media-config-target-rpi3-spk/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,127 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:%f +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-rpi3.manifest b/media-config-target-rpi3.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-rpi3.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-rpi3/hal/etc/asound.conf b/media-config-target-rpi3/hal/etc/asound.conf new file mode 100644 index 0000000..dc87ead --- /dev/null +++ b/media-config-target-rpi3/hal/etc/asound.conf @@ -0,0 +1,16 @@ +# default sound configuration + +pcm. !default { + type hw + card ALSA +} + +ctl. !default { + type hw + card ALSA +} + +ctl. bcm2835 { + type hw + card ALSA +} diff --git a/media-config-target-rpi3/hal/etc/inference/inference_engine.ini b/media-config-target-rpi3/hal/etc/inference/inference_engine.ini new file mode 100644 index 0000000..54eddf2 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/inference/inference_engine.ini @@ -0,0 +1,3 @@ +[inference backend] +;/*OPENCV=0, Tensorflow-lite=1 +supported backend types = 0,1 diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..0d139a2 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = GT-TIZEN +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 1 +SupportMediaPacketPreviewCb = 1 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0 +VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoconvert = 1 +VideoconvertElement = videoconvert | 0,0 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 1 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 0 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 1 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..dea154c --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,208 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = USB_CAMERA +PreviewResolution = 320,240 | 640,480 || 640,480 +CaptureResolution = 320,240 | 640,480 || 640,480 +VideoResolution = 320,240 | 640,480 || 640,480 +FPS0 = 0,15,30 || 15 +FPS1 = 0,15,30 || 15 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 7 || 7 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 640,480 | 640,480 | 640,480 || 640,480 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 +FrameStabilityCount = 1 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; N/A +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 0,-255,-255,-255,-255,-255,-255,-255 || 0 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = 1,7 || 4 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 0,10 || 0 +;OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 7,13 || 13 +JpegQuality = 0,100 || 90 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 +FrameStabilityCount = 2 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..527ab99 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = v4l2src + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_player.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..dfbe5e6 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = v4l2 +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = omx + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..082f297 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..7c12c66 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = gppmux + +name of MP4 muxer = mp4mux + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-rpi3/hal/etc/multimedia/mmfw_wfd_sink.ini b/media-config-target-rpi3/hal/etc/multimedia/mmfw_wfd_sink.ini new file mode 100644 index 0000000..9981dec --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mmfw_wfd_sink.ini @@ -0,0 +1,231 @@ +[general] +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=2,*wfd*:5) +gstparam1 = --gst-debug=2,*wfd*:5,*wfdtsdemux:1,*wfdrtpbuffer:1 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; allowed timeout for changing pipeline state +state change timeout = 5; sec + +; 0: default value set by wfdrtspsrc element, other: user define value. +jitter buffer latency=10 + +; for retransmission request enable = yes, disable = no +enable retransmission = no + +; for reset basetime, enable = yes, disable = no +enable reset basetime = yes + +; Maximum number of nanoseconds that a buffer can be late before it is dropped by videosink (-1 unlimited) +video sink max lateness=20000000 + +; nanoseconds to be added to buffertimestamp by sink elements +sink ts offset=250000000 + +; if no, go asynchronously to PAUSED without preroll +audio sink async=no + +; if no, go asynchronously to PAUSED without preroll +video sink async=no + +; user agent +user agent = + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell +generate dot = no + +; set property to wfdsrc plugin for dumping rtsp message +dump rtsp message = yes + +; enable tracing buffers using pad probe +trace buffers = no + +; enable tracing first buffer +trace first buffer = no + +; enable tracing buffers of wfdsrc +trace buffers of wfdsrc = no + +; enable dumping ts data (eg. /var/tmp/*.ts) +dump ts data = no + +; enable dumping rtp data (eg. /var/tmp/screenmirroring_sink_rtp.dump) +dump rtp data = no + + +[pipeline] +wfdsrc element = wfdsrc + +tsdemux element = wfdtsdemux + +audio hdcp element = + +aac parser element = aacparse + +aac decoder element = avdec_aac + +ac3 parser element = ac3parse + +ac3 decoder element = + +lpcm converter element = + +lpcm filter element = capsfilter + +audio resampler element = audioconvert + +audio volume element = + +audio sinkbin queue element = ;queue + +audio sink element = pulsesink + +video hdcp element = + +video h264 parser element = h264parse + +video h265 parser element = + +video h264 decoder element = avdec_h264 + +video h265 decoder element = + +video converter element = videoconvert + +video filter element = + +video sink element = tizenwlsink + +video evas sink element = evaspixmapsink + + +[wfd audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +audio latency=0x0 + +;0x1 : 48000khz, 0x2: 44100khz +audio sampling frequency=0x3 + +; 0x1:2 channels, 0x2:4 channels, 0x4:6channels, 0x8:8channels +audio channels=0x1 + + +[wfd video formats] +; 0x0:not support, 0x1:H264 +video codec=0x1 + +; 0x0:not supoort, 0x1: CHP, 0x2:CBP +video profile=0x1 + +video native resolution = 0x20 + +video cea support=0x84ab;0x194ab + +video vesa support=0x1;0x5555555 + +video hh support=0x555 + +; 0x1:base, 0x2:high +video profile=0x1 + +; 0x1:level_3_1, 0x2:level_3_2, 0x4:level_4, 0x8:level_4_1, 0x10:level_4_2 +video level=0x2 + +video latency=0x0 + +video vertical resolution=720 + +video horizontal resolution=1280 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=11 + + +[wfd hdcp content protection] +enable hdcp = no + +;0x0:none, 0x1:HDCP_2.0, 0x2:HDCP_2.1 +hdcp content protection=0x0 + +hdcp port no=0 + + +[wfd2 video formats] +;0x0:not support, 0x1:H264, 0x2:H265, 0x3:both +video codec=0x3 + +video native resolution = 0x20 + +video non transcoding support=1 + +[wfd2 h264 video format] +video cea support=0x194ab + +video vesa support=0x5555555 + +video hh support=0x555 + +video profile=0x1 + +video level=0x2 + +video latency=0x0 + +video vertical resolution=1080 + +video horizontal resolution=1920 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 h265 video format] +video cea support=394ab + +video vesa support=5555555 + +video hh support=555 + +; 0x1:WFD_H265_MAIN_PROFILE +video profile=0x1 + +; 0x1:WFD_H265_LEVEL_3_1 +video level=0x2 + +video latency=0x0 + +video vertical resolution=2360 + +video horizontal resolution=3840 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +;see mm_wfd_sink_wfd_enum.h +audio lpcm mode=0x3 + +audio aac mode=0x1 + +audio ac3 mode=0x1 + diff --git a/media-config-target-rpi3/hal/etc/multimedia/mused.conf b/media-config-target-rpi3/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..38e07b8 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-rpi3/hal/etc/multimedia/scmirroring_src.ini b/media-config-target-rpi3/hal/etc/multimedia/scmirroring_src.ini new file mode 100644 index 0000000..68103c5 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/multimedia/scmirroring_src.ini @@ -0,0 +1,114 @@ + +[general] + +; set default video source element +; 0: ximagesrc, 1: xvimagesrc, 2: camerasrc, 3: videotestsrc, 4:waylandsrc +videosrc element = 4 + +; set default video encoder element +video encoder element = omxh264enc + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +mtu_size value = 1400 + +video converter element = + +; if yes. gstreamer will not update registry +skip rescan = yes + +; set default audio encoder element +audio encoder aac name = avenc_aac +audio encoder ac3 name = avenc_ac3 + +; set audio codec for source +; according to GstWFDAudioFormat +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +; default aac and LPCM +audio codec = 0x3 + +; set exynos audiosrc property +; exynosaudio device name = alsa_output.0.analog-stereo.monitor +exynosaudio device name = alsa_output.hw_0_0.monitor +audio properties name = props,media.role=loopback-mirroring + +exynosaudio buffer_time = 200000 +; set qcmsm audiosrc property +qcmsmaudio device name = hw:0,8 +qcmsmaudio buffer_time = 1000 + +audio latency_time = 10000 +audio do_timestamp = 0 + +; set video codec for source +; according to GstWFDVideoFormat +; 0x0: Not supportted, 0x1: H264 +; default H.264 +video codec = 0x1 + +; Video Resolutions supported need to be filled in 32 bits according to WFD spec +video resolution_supported = 0x00000001 + +; Bitrate range for different resolutions +; Resolution Set 1: default +; Resolution Set 2: 1920 x 1080 +; Resolution Set 3: 1280 x 720 +; Resolution Set 4: 960 x 540 +; Resolution Set 5: 854 x 480 +; Resolution Set 6: 640 x 360 +; Resolution Set 7: 720 Remote Touch +; UDP bitrate settings +INIT_UDP_resolution_set_1 = 1048576 +MIN_UDP_resolution_set_1 = 838861 +MAX_UDP_resolution_set_1 = 1572864 + +INIT_UDP_resolution_set_2 = 5242880 +MIN_UDP_resolution_set_2 = 3670016 +MAX_UDP_resolution_set_2 = 6291456 + +INIT_UDP_resolution_set_3 = 2621440 +MIN_UDP_resolution_set_3 = 1572864 +MAX_UDP_resolution_set_3 = 3145728 + +INIT_UDP_resolution_set_4 = 2621440 +MIN_UDP_resolution_set_4 = 1572864 +MAX_UDP_resolution_set_4 = 3145728 + +INIT_UDP_resolution_set_5 = 838861 +MIN_UDP_resolution_set_5 = 314573 +MAX_UDP_resolution_set_5 = 1048576 + +INIT_UDP_resolution_set_6 = 838861 +MIN_UDP_resolution_set_6 = 314573 +MAX_UDP_resolution_set_6 = 838861 + +INIT_UDP_resolution_set_7 = 1572864 +MIN_UDP_resolution_set_7 = 838861 +MAX_UDP_resolution_set_7 = 1572864 + + +; Native resolution supported CEA resolution=0, VESA resolution=1, HH resolution=2 +video native_resolution = 0 + +; HDCP encryption +encryption HDCP_enabled = 1 + +; UIBC Capability +uibc UIBC_GEN_capability = 15 + +; parameters for initializing gstreamer +gstparam1 = +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +generate dot = no + +; parameter for clock provide in audiosink +provide clock = yes + +;dumping ts stream to file +dump ts = 0 + diff --git a/media-config-target-rpi3/hal/etc/murphy/murphy.lua b/media-config-target-rpi3/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..9675961 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-rpi3/hal/etc/profile.d/mmf.sh b/media-config-target-rpi3/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-rpi3/hal/etc/pulse/client.conf b/media-config-target-rpi3/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-rpi3/hal/etc/pulse/daemon.conf b/media-config-target-rpi3/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-rpi3/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-rpi3/hal/etc/pulse/default.pa b/media-config-target-rpi3/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-rpi3/hal/etc/pulse/device-map.json b/media-config-target-rpi3/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..fe3f3a4 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/pulse/device-map.json @@ -0,0 +1,16 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:ALSA,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:ALSA,0", + "role":{"normal":"mmap=0 tsched=0 rate=44100"} + } + ] + } +} diff --git a/media-config-target-rpi3/hal/etc/pulse/stream-map.json b/media-config-target-rpi3/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..e06d929 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/pulse/stream-map.json @@ -0,0 +1,191 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio","network"], + "avail-out-devices":["bt-a2dp","usb-audio","network","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker","bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["builtin-speaker","usb-audio"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio","network"], + "avail-out-devices":["bt-a2dp","usb-audio","network"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + ] +} diff --git a/media-config-target-rpi3/hal/etc/pulse/system.pa b/media-config-target-rpi3/hal/etc/pulse/system.pa new file mode 100644 index 0000000..1cbca96 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/pulse/system.pa @@ -0,0 +1,74 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification,voice-information ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-rpi3/hal/etc/xdg/gstomx.conf b/media-config-target-rpi3/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..7a92953 --- /dev/null +++ b/media-config-target-rpi3/hal/etc/xdg/gstomx.conf @@ -0,0 +1,84 @@ +[omxmpeg2videodec] +type-name=GstOMXMPEG2VideoDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxmpeg4videodec] +type-name=GstOMXMPEG4VideoDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxh263dec] +type-name=GstOMXH263Dec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxh264dec] +type-name=GstOMXH264Dec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxmjpegdec] +type-name=GstOMXMJPEGDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role + +[omxvc1dec] +type-name=GstOMXWMVDec +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_decode +rank=257 +in-port-index=130 +out-port-index=131 +hacks=no-component-role +sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},width=(int)[1,MAX],height=(int)[1,MAX] + +[omxh264enc] +type-name=GstOMXH264Enc +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.video_encode +rank=257 +in-port-index=200 +out-port-index=201 +hacks=no-component-role + +[omxanalogaudiosink] +type-name=GstOMXAnalogAudioSink +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.audio_render +rank=257 +in-port-index=100 +out-port-index=101 +hacks=no-component-role +sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)interleaved,rate=(int){8000,11025,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000},channels=(int)[1,2] + +[omxhdmiaudiosink] +type-name=GstOMXHdmiAudioSink +core-name=/opt/vc/lib/libopenmaxil.so +component-name=OMX.broadcom.audio_render +rank=258 +in-port-index=100 +out-port-index=101 +hacks=no-component-role +sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)interleaved,rate=(int){8000,11025,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000},channels=(int)[1,8];audio/x-ac3,framed=(boolean)true;audio/x-dts,framed=(boolean)true,block-size=(int){512,1024,2048} + diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a8d08b --- /dev/null +++ b/media-config-target-rpi3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,127 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:%f +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tm1.manifest b/media-config-target-tm1.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-tm1.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-tm1/hal/etc/asound.conf b/media-config-target-tm1/hal/etc/asound.conf new file mode 100644 index 0000000..289d7d1 --- /dev/null +++ b/media-config-target-tm1/hal/etc/asound.conf @@ -0,0 +1,17 @@ +# default sound configuration for sprd6820 + +pcm. !default { + type hw + card sprdphone + device 0 +} + +ctl. !default { + type hw + card sprdphone +} + +ctl. sprdphone { + type hw + card sprdphone +} diff --git a/media-config-target-tm1/hal/etc/inference/inference_engine.ini b/media-config-target-tm1/hal/etc/inference/inference_engine.ini new file mode 100644 index 0000000..54eddf2 --- /dev/null +++ b/media-config-target-tm1/hal/etc/inference/inference_engine.ini @@ -0,0 +1,3 @@ +[inference backend] +;/*OPENCV=0, Tensorflow-lite=1 +supported backend types = 0,1 diff --git a/media-config-target-tm1/hal/etc/inference/inference_engine_backend_path.ini b/media-config-target-tm1/hal/etc/inference/inference_engine_backend_path.ini new file mode 100644 index 0000000..97b4f0e --- /dev/null +++ b/media-config-target-tm1/hal/etc/inference/inference_engine_backend_path.ini @@ -0,0 +1,24 @@ +; This ini file describes, +; 1. which NPU backend to be used for user-given INFERENCE_ENGINE_CUSTOM type. As for NPU device, we will use ML Single API. +; 2. which API framework to be used for a given backend engine such as TFLITE, ARMNN, and OPENCV. +; In default, Mediavision internal API will be used. If you want to use ML Single API then set 'MLAPI' to 'API framework' of each backend section. + +; Available NPU backends : VIVANTE, TRIV2 +; Available backend engine sections : TFLITE, ARMNN, ONE, OPENCV +; Available external inference engine API framework : MLAPI + +[NPU backend] +; Writing rule = [VIVANTE|TRIV2] +type = VIVANTE + +[TFLITE] +; Writing rule = [MLAPI] +API framework = MLAPI + +[ARMNN] +; Writing rule = [MLAPI] +API framework = + +[OPENCV] +; Writing rule = [MLAPI] +API framework = diff --git a/media-config-target-tm1/hal/etc/multimedia/audio_hw.xml b/media-config-target-tm1/hal/etc/multimedia/audio_hw.xml new file mode 100644 index 0000000..a49df9f --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/audio_hw.xml @@ -0,0 +1,51 @@ + + + + diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..09a9a97 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 86, 88, 90 +notification = 0, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 95 +alarm = 0, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 90 +ringtone = 0, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 90 +media = 0, 44, 48, 52, 56, 61, 66, 70, 74, 78, 82, 85, 88, 91, 94, 97 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..205fb15 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,106 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = TM1 +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = camerasrc | 2,0 | do-timestamp,1 | num-alloc-buf,7 +UseVideoscale = 0 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 1 +DeviceCount = 2 +SupportMediaPacketPreviewCb = 1 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,1 +VideosinkElementRemote = tizenipcsink | 4,0 | permissions,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 0 +VideoscaleElement = videoscale | 1,0 | rotang,90 + +[VideoEncoder] +H263 = sprdenc_h263 | 0,0 +H264 = sprdenc_h264 | 0,0 +MPEG4 = sprdenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 0 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 1 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 0 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +SupportDualStream = 0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..62cd39f --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,210 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = S5K4H5YB +PreviewResolution = 176,144 | 320,240 | 480,360 | 480,480 | 640,480 | 720,720 | 960,720 | 1280,720 || 960,720 +CaptureResolution = 640,480 | 800,480 | 1280,720 | 1536,1536 | 1600,960 | 1600,1200 | 2048,1152 | 2048,1232 | 2048,1536 | 2448,2448 | 3264,1836| 3264,2448 || 3264,2448 +VideoResolution = 176,144 | 320,240 | 640,480 | 1280,720 || 640,480 +FPS0 = 0,30 || 30 +FPS1 = 0,30 || 30 +FPS2 = 0,30 || 30 +FPS3 = 0,30 || 30 +FPS4 = 0,30 || 30 +FPS5 = 0,30 || 30 +FPS6 = 0,30 || 30 +FPS7 = 0,30 || 30 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 0 || 0 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 3 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 0 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 0 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 960,720 | 1280,720 | 720,720 || 960,720 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; 0:OFF, 1:ON, 2:TORCH, 3:AUTO, 4:MAX +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 0,1,3,-255,-255,-255,-255,2 || 0 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = -2,2 || 0 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:INCANDESCENT, 4:FLUORESCENT, 5:DAYLIGHT, 6:CLOUDY_DAYLIGHT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,5,6,4,1,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 0:NONE, 1:MONO, 6:NEGATIVE, 7:SEPIA, 4:COLD +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW, 30:GRAPHICS +ColorTone = 0,1,7,6,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Flip - MSL value(convert array index) +;;; 0:NONE, 1:HORIZONTAL, 2:VERTICAL, 3:BOTH +Flip = 0,-255,-255,-255 || 0 + +; Wide Dynamic Range - real setting value +;;; N/A +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +DigitalZoom = 0,30 || 0 +OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = -255,-255,0,-255,3,4 || 3 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = -255,0,1,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:MATRIX, 1:CENTER, 2:SPOT, 3.MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,1,-255,-255,2,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:100, 2:200, 3:400, 4:800 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,1,2,3,4,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; N/A +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 0,13 || 13 +JpegQuality = 0,100 || 95 +MultishotNumber = 1,1024 || 1 +SensorEncodedCapture = 1 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 +SupportZSL = 1 + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,1 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder_camera1.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder_camera1.ini new file mode 100644 index 0000000..e443d1c --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_camcorder_camera1.ini @@ -0,0 +1,212 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = -255,1 || 1 +DeviceName = S5K5E3YX +PreviewResolution = 176,144 | 320,240 | 480,360 | 640,480 | 720,720 | 880,720 | 960,720 | 1280,720 || 960,720 +CaptureResolution = 480,480 | 640,480 | 1440, 1080 | 1920,1080 | 1920,1920 | 2048,1152 | 2048,1536 | 2560,1440 | 2576,1932 || 640,480 +VideoResolution = 176,144 | 320,240 | 640,480 | 1280,720 || 640,480 +FPS0 = 0,30 || 30 +FPS1 = 0,30 || 30 +FPS2 = 0,30 || 30 +FPS3 = 0,30 || 30 +FPS4 = 0,30 || 30 +FPS5 = 0,30 || 30 +FPS6 = 0,30 || 30 +FPS7 = 0,30 || 30 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 0 || 0 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 3 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 0 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 0 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 960,720 | 1280,720 | 720,720 || 960,720 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 1 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; N/A +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 0,-255,-255,-255,-255,-255,-255,-255 || 0 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = -2,2 || 0 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:INCANDESCENT, 4:FLUORESCENT, 5:DAYLIGHT, 6:CLOUDY_DAYLIGHT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,5,6,4,1,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 0:NONE, 1:MONO, 6:NEGATIVE, 7:SEPIA, 4:COLD +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW, 30:GRAPHICS +ColorTone = 0,1,7,6,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Flip - MSL value(convert array index) +;;; 0:NONE, 1:HORIZONTAL, 2:VERTICAL, 3:BOTH +Flip = 0,1,2,3 || 0 + + + +; Wide Dynamic Range - real setting value +;;; N/A +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +DigitalZoom = 0,0 || 0 +OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; Not Support, no need to convert +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = -255,0,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:CENTER, 1:MATRIX, 2:SPOT, 3.MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,-255,0,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; N/A +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 0,13 || 13 +JpegQuality = 0,100 || 95 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 1 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 +SupportZSL = 1 + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,1 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_fmradio.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_fmradio.ini new file mode 100644 index 0000000..7e075fe --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_fmradio.ini @@ -0,0 +1,25 @@ +[tuning] +enable = n + +[fmradio] + +mmfw_fmradio_rssi_threshold = 110 +mmfw_fmradio_noise_power = 0 +mmfw_fmradio_pilot_power = 0 +mmfw_fmradio_frequency_offset = 0 + +mmfw_fmradio_softmute_enable = 0 + +mmfw_fmradio_snr_threshold = 3 +mmfw_fmradio_cnt_threshold = 0 +mmfw_fmradio_softmute_start_snr = 37 +mmfw_fmradio_softmute_stop_snr = 0 +mmfw_fmradio_softmute_start_rssi = 0 +mmfw_fmradio_softmute_stop_rssi = 0 +mmfw_fmradio_softmute_start_mute = 12 +mmfw_fmradio_softmute_stop_atten = 0 +mmfw_fmradio_softmute_mute_rate = 0 +mmfw_fmradio_softmute_snr40 = 0 + +volume_levels = 16 +volume_table = 127, 121, 115, 109, 103, 97, 91, 85, 79, 73, 67, 61, 55, 49, 43, 37 diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..6c6a91c --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = sprddec_h263, video/x-h263, NV12 +hw_encoder = sprdenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = sprddec_h264, video/x-h264, NV12 +hw_encoder = sprdenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = sprddec_mpeg4, video/mpeg, NV12 +hw_encoder = sprdenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..d366ede --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,132 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + +; zero copy format will be used if both conditions(node name and format) are satisfied +use zerocopy = yes + +; comma separated list of node names +zerocopy node names = video_encoder,capsfilter + +; comma separated list of formats +zerocopy formats = SN12 + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_player.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..674f6b3 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = sprd +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2 + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..e9ffdd5 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,10 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 +radio = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..f9c1b82 --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 1 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = sprd ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-tm1/hal/etc/multimedia/mmfw_wfd_sink.ini b/media-config-target-tm1/hal/etc/multimedia/mmfw_wfd_sink.ini new file mode 100644 index 0000000..9981dec --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mmfw_wfd_sink.ini @@ -0,0 +1,231 @@ +[general] +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=2,*wfd*:5) +gstparam1 = --gst-debug=2,*wfd*:5,*wfdtsdemux:1,*wfdrtpbuffer:1 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; allowed timeout for changing pipeline state +state change timeout = 5; sec + +; 0: default value set by wfdrtspsrc element, other: user define value. +jitter buffer latency=10 + +; for retransmission request enable = yes, disable = no +enable retransmission = no + +; for reset basetime, enable = yes, disable = no +enable reset basetime = yes + +; Maximum number of nanoseconds that a buffer can be late before it is dropped by videosink (-1 unlimited) +video sink max lateness=20000000 + +; nanoseconds to be added to buffertimestamp by sink elements +sink ts offset=250000000 + +; if no, go asynchronously to PAUSED without preroll +audio sink async=no + +; if no, go asynchronously to PAUSED without preroll +video sink async=no + +; user agent +user agent = + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell +generate dot = no + +; set property to wfdsrc plugin for dumping rtsp message +dump rtsp message = yes + +; enable tracing buffers using pad probe +trace buffers = no + +; enable tracing first buffer +trace first buffer = no + +; enable tracing buffers of wfdsrc +trace buffers of wfdsrc = no + +; enable dumping ts data (eg. /var/tmp/*.ts) +dump ts data = no + +; enable dumping rtp data (eg. /var/tmp/screenmirroring_sink_rtp.dump) +dump rtp data = no + + +[pipeline] +wfdsrc element = wfdsrc + +tsdemux element = wfdtsdemux + +audio hdcp element = + +aac parser element = aacparse + +aac decoder element = avdec_aac + +ac3 parser element = ac3parse + +ac3 decoder element = + +lpcm converter element = + +lpcm filter element = capsfilter + +audio resampler element = audioconvert + +audio volume element = + +audio sinkbin queue element = ;queue + +audio sink element = pulsesink + +video hdcp element = + +video h264 parser element = h264parse + +video h265 parser element = + +video h264 decoder element = avdec_h264 + +video h265 decoder element = + +video converter element = videoconvert + +video filter element = + +video sink element = tizenwlsink + +video evas sink element = evaspixmapsink + + +[wfd audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +audio latency=0x0 + +;0x1 : 48000khz, 0x2: 44100khz +audio sampling frequency=0x3 + +; 0x1:2 channels, 0x2:4 channels, 0x4:6channels, 0x8:8channels +audio channels=0x1 + + +[wfd video formats] +; 0x0:not support, 0x1:H264 +video codec=0x1 + +; 0x0:not supoort, 0x1: CHP, 0x2:CBP +video profile=0x1 + +video native resolution = 0x20 + +video cea support=0x84ab;0x194ab + +video vesa support=0x1;0x5555555 + +video hh support=0x555 + +; 0x1:base, 0x2:high +video profile=0x1 + +; 0x1:level_3_1, 0x2:level_3_2, 0x4:level_4, 0x8:level_4_1, 0x10:level_4_2 +video level=0x2 + +video latency=0x0 + +video vertical resolution=720 + +video horizontal resolution=1280 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=11 + + +[wfd hdcp content protection] +enable hdcp = no + +;0x0:none, 0x1:HDCP_2.0, 0x2:HDCP_2.1 +hdcp content protection=0x0 + +hdcp port no=0 + + +[wfd2 video formats] +;0x0:not support, 0x1:H264, 0x2:H265, 0x3:both +video codec=0x3 + +video native resolution = 0x20 + +video non transcoding support=1 + +[wfd2 h264 video format] +video cea support=0x194ab + +video vesa support=0x5555555 + +video hh support=0x555 + +video profile=0x1 + +video level=0x2 + +video latency=0x0 + +video vertical resolution=1080 + +video horizontal resolution=1920 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 h265 video format] +video cea support=394ab + +video vesa support=5555555 + +video hh support=555 + +; 0x1:WFD_H265_MAIN_PROFILE +video profile=0x1 + +; 0x1:WFD_H265_LEVEL_3_1 +video level=0x2 + +video latency=0x0 + +video vertical resolution=2360 + +video horizontal resolution=3840 + +video minimum slicesize=0 + +video slice encoding params=200 + +video framerate control support=0 + +[wfd2 audio codecs] +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +;default aac and LPCM +audio codec=0x3 + +;see mm_wfd_sink_wfd_enum.h +audio lpcm mode=0x3 + +audio aac mode=0x1 + +audio ac3 mode=0x1 + diff --git a/media-config-target-tm1/hal/etc/multimedia/mused.conf b/media-config-target-tm1/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..4c2d5cc --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2,*STATE*:4,*pulse*:4,*audiobasesink:4 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-tm1/hal/etc/multimedia/scmirroring_src.ini b/media-config-target-tm1/hal/etc/multimedia/scmirroring_src.ini new file mode 100644 index 0000000..1fe727d --- /dev/null +++ b/media-config-target-tm1/hal/etc/multimedia/scmirroring_src.ini @@ -0,0 +1,117 @@ + +[general] + +; set default video source element +; 0: ximagesrc, 1: xvimagesrc, 2: camerasrc, 3: videotestsrc, 4:waylandsrc +videosrc element = 4 + +; set default video encoder element +video encoder element = sprdenc_h264 + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +mtu_size value = 1400 + +video converter element = + +; if yes. gstreamer will not update registry +skip rescan = yes + +; set default audio encoder element +audio encoder aac name = avenc_aac +audio encoder ac3 name = avenc_ac3 + +; set audio codec for source +; according to GstWFDAudioFormat +; 0x1: LPCM, 0x2: AAC, 0x4: AC3 +; default aac and LPCM +audio codec = 0x3 + +; set exynos audiosrc property +; exynosaudio device name = alsa_output.0.analog-stereo.monitor +exynosaudio device name = alsa_output.hw_0_0.monitor +audio properties name = props,media.role=loopback-mirroring + +exynosaudio buffer_time = 200000 +; set qcmsm audiosrc property +qcmsmaudio device name = hw:0,8 +qcmsmaudio buffer_time = 1000 + +audio latency_time = 10000 +audio do_timestamp = 0 + +; set video codec for source +; according to GstWFDVideoFormat +; 0x0: Not supportted, 0x1: H264 +; default H.264 +video codec = 0x1 + +; Video Resolutions supported need to be filled in 32 bits according to WFD spec +video resolution_supported = 0x00000001 + +; Bitrate range for different resolutions +; Resolution Set 1: default +; Resolution Set 2: 1920 x 1080 +; Resolution Set 3: 1280 x 720 +; Resolution Set 4: 960 x 540 +; Resolution Set 5: 854 x 480 +; Resolution Set 6: 640 x 360 +; Resolution Set 7: 720 Remote Touch +; UDP bitrate settings +INIT_UDP_resolution_set_1 = 1048576 +MIN_UDP_resolution_set_1 = 838861 +MAX_UDP_resolution_set_1 = 1572864 + +INIT_UDP_resolution_set_2 = 5242880 +MIN_UDP_resolution_set_2 = 3670016 +MAX_UDP_resolution_set_2 = 6291456 + +INIT_UDP_resolution_set_3 = 2621440 +MIN_UDP_resolution_set_3 = 1572864 +MAX_UDP_resolution_set_3 = 3145728 + +INIT_UDP_resolution_set_4 = 2621440 +MIN_UDP_resolution_set_4 = 1572864 +MAX_UDP_resolution_set_4 = 3145728 + +INIT_UDP_resolution_set_5 = 838861 +MIN_UDP_resolution_set_5 = 314573 +MAX_UDP_resolution_set_5 = 1048576 + +INIT_UDP_resolution_set_6 = 838861 +MIN_UDP_resolution_set_6 = 314573 +MAX_UDP_resolution_set_6 = 838861 + +INIT_UDP_resolution_set_7 = 1572864 +MIN_UDP_resolution_set_7 = 838861 +MAX_UDP_resolution_set_7 = 1572864 + + +; Native resolution supported CEA resolution=0, VESA resolution=1, HH resolution=2 +video native_resolution = 0 + +; HDCP encryption +encryption HDCP_enabled = 1 + +; UIBC Capability +uibc UIBC_GEN_capability = 15 + +; parameters for initializing gstreamer +gstparam1 = +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +generate dot = no + +; parameter for clock provide in audiosink +provide clock = yes + +;dumping ts stream to file +dump ts = 0 + +; set R2 feature enable +; 0: disable, 1: enable +wfd2 wfd2_supported = 1 diff --git a/media-config-target-tm1/hal/etc/murphy/murphy.lua b/media-config-target-tm1/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..b670e67 --- /dev/null +++ b/media-config-target-tm1/hal/etc/murphy/murphy.lua @@ -0,0 +1,105 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} + +resource.class { + name = "radio", + shareable = false, + sync_release = true +} diff --git a/media-config-target-tm1/hal/etc/profile.d/mmf.sh b/media-config-target-tm1/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-tm1/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-tm1/hal/etc/pulse/client.conf b/media-config-target-tm1/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-tm1/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-tm1/hal/etc/pulse/daemon.conf b/media-config-target-tm1/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-tm1/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-tm1/hal/etc/pulse/default.pa b/media-config-target-tm1/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-tm1/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-tm1/hal/etc/pulse/device-map.json b/media-config-target-tm1/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..c12086a --- /dev/null +++ b/media-config-target-tm1/hal/etc/pulse/device-map.json @@ -0,0 +1,49 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:sprdphone,0", "call-voice":"alsa:VIRTUALAUDIOW,0"} + }, + { + "device-type":"builtin-receiver", + "playback-devices":{"normal":"alsa:sprdphone,0", "call-voice":"alsa:VIRTUALAUDIOW,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:sprdphone,0"} + }, + { + "device-type":"audio-jack", + "playback-devices":{"normal":"alsa:sprdphone,0", "call-voice":"alsa:VIRTUALAUDIOW,0"}, + "capture-devices":{"normal":"alsa:sprdphone,0"} + }, + { + "device-type":"hdmi", + "playback-devices":{"normal":"alsa:sprdphone,0"} + }, + { + "device-type":"bt-sco", + "playback-devices":{"normal":"alsa:sprdphone,0", "call-voice":"alsa:VIRTUALAUDIOW,0"}, + "capture-devices":{"normal":"alsa:sprdphone,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:sprdphone,0", + "role":{"normal":"rate=44100" + } + }, + { + "device-string":"alsa:VIRTUALAUDIOW,0", + "role":{"call-voice":"rate=16000 channels=1 tsched=0 alternate_rate=16000"} + } + ], + "capture-devices":[ + { + "device-string":"alsa:sprdphone,0", + "role":{"normal":"rate=44100"} + } + ] + } +} diff --git a/media-config-target-tm1/hal/etc/pulse/stream-map.json b/media-config-target-tm1/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..f492620 --- /dev/null +++ b/media-config-target-tm1/hal/etc/pulse/stream-map.json @@ -0,0 +1,263 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["audio-jack","network","builtin-mic"], + "avail-out-devices":["forwarding","audio-jack","bt-a2dp","usb-audio","network","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["forwarding","audio-jack","bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["audio-jack","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"ringbacktone-call", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","builtin-receiver","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic","audio-jack","bt-sco"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack","bt-sco"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","audio-jack","bt-sco"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"call-video", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","audio-jack","bt-sco"], + "avail-out-devices":["builtin-receiver","builtin-speaker","audio-jack","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"radio", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","builtin-speaker"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["builtin-mic","usb-audio"], + "avail-out-devices":["builtin-speaker","usb-audio","bt-a2dp"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback-mirroring", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["forwarding"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["network"], + "avail-out-devices":["bt-a2dp", "usb-audio","network"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["audio-jack","bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-target-tm1/hal/etc/pulse/system.pa b/media-config-target-tm1/hal/etc/pulse/system.pa new file mode 100644 index 0000000..0e92784 --- /dev/null +++ b/media-config-target-tm1/hal/etc/pulse/system.pa @@ -0,0 +1,74 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 +load-module module-poweroff + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a7fd50 --- /dev/null +++ b/media-config-target-tm1/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,119 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tw1.manifest b/media-config-target-tw1.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-tw1.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-tw1/hal/etc/asound.conf b/media-config-target-tw1/hal/etc/asound.conf new file mode 100644 index 0000000..acaf318 --- /dev/null +++ b/media-config-target-tw1/hal/etc/asound.conf @@ -0,0 +1,11 @@ +# default sound configuration + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..0740a69 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = TW1 +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +;VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 0 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0 +AudiomodemsrcElement = pulsesrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,1 +VideosinkElementRemote = tizenipcsink | 4,0 | permissions,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 0 +VideoscaleElement = videoscale | 1,0 | rotang,90 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 0 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 1 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 0 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +SupportDualStream = 0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..488d6a8 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_player.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..e900636 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = omx +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2 + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..1d67f0b --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,8 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-tw1/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-tw1/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-tw1/hal/etc/multimedia/mused.conf b/media-config-target-tw1/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..3d51615 --- /dev/null +++ b/media-config-target-tw1/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=0 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-tw1/hal/etc/murphy/murphy.lua b/media-config-target-tw1/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..17c1218 --- /dev/null +++ b/media-config-target-tw1/hal/etc/murphy/murphy.lua @@ -0,0 +1,93 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-tw1/hal/etc/profile.d/mmf.sh b/media-config-target-tw1/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-tw1/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-tw1/hal/etc/pulse/client.conf b/media-config-target-tw1/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-tw1/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-tw1/hal/etc/pulse/daemon.conf b/media-config-target-tw1/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-tw1/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-tw1/hal/etc/pulse/default.pa b/media-config-target-tw1/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-tw1/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-tw1/hal/etc/pulse/device-map.json b/media-config-target-tw1/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..859cc76 --- /dev/null +++ b/media-config-target-tw1/hal/etc/pulse/device-map.json @@ -0,0 +1,16 @@ +{ + "device-types":[ + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:0,0"} + } + ], + "device-files":{ + "capture-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=48000 mmap=0 channels=1"} + } + ] + } +} diff --git a/media-config-target-tw1/hal/etc/pulse/stream-map.json b/media-config-target-tw1/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..ce2b8f5 --- /dev/null +++ b/media-config-target-tw1/hal/etc/pulse/stream-map.json @@ -0,0 +1,245 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-sco"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"call-video", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"radio", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["none"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["none"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-target-tw1/hal/etc/pulse/system.pa b/media-config-target-tw1/hal/etc/pulse/system.pa new file mode 100644 index 0000000..52f4038 --- /dev/null +++ b/media-config-target-tw1/hal/etc/pulse/system.pa @@ -0,0 +1,70 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 +load-module module-poweroff + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + diff --git a/media-config-target-tw1/hal/etc/xdg/gstomx.conf b/media-config-target-tw1/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..4533527 --- /dev/null +++ b/media-config-target-tw1/hal/etc/xdg/gstomx.conf @@ -0,0 +1,78 @@ +[omxdec_mpeg2] +type-name=GstOMXMPEG2VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG2.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_mpeg4] +type-name=GstOMXMPEG4VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_h263] +type-name=GstOMXH263Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_h264] +type-name=GstOMXH264Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxenc_h264] +type-name=GstOMXH264Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-disable-outport;no-component-role +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] +src-template-caps=video/x-h264, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction) [0/1, MAX], alignment=(string) au, stream-format = (string){ avc, byte-stream } + +[omxenc_mpeg4] +type-name=GstOMXMPEG4VideoEnc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport + +[omxenc_h263] +type-name=GstOMXH263Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a7fd50 --- /dev/null +++ b/media-config-target-tw1/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,119 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tw2.manifest b/media-config-target-tw2.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-tw2.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-tw2/hal/etc/asound.conf b/media-config-target-tw2/hal/etc/asound.conf new file mode 100644 index 0000000..acaf318 --- /dev/null +++ b/media-config-target-tw2/hal/etc/asound.conf @@ -0,0 +1,11 @@ +# default sound configuration + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..0740a69 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = TW1 +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +;VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 0 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0 +AudiomodemsrcElement = pulsesrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,1 +VideosinkElementRemote = tizenipcsink | 4,0 | permissions,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 0 +VideoscaleElement = videoscale | 1,0 | rotang,90 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 0 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 1 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 0 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +SupportDualStream = 0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..488d6a8 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_player.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..e900636 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = omx +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2 + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..1d67f0b --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,8 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-tw2/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-tw2/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-tw2/hal/etc/multimedia/mused.conf b/media-config-target-tw2/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..d83cdf3 --- /dev/null +++ b/media-config-target-tw2/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=0 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2,*STATE*:4,*pulse*:4,*audiobasesink:4 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-tw2/hal/etc/murphy/murphy.lua b/media-config-target-tw2/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..17c1218 --- /dev/null +++ b/media-config-target-tw2/hal/etc/murphy/murphy.lua @@ -0,0 +1,93 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-tw2/hal/etc/profile.d/mmf.sh b/media-config-target-tw2/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-tw2/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-tw2/hal/etc/pulse/client.conf b/media-config-target-tw2/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-tw2/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-tw2/hal/etc/pulse/daemon.conf b/media-config-target-tw2/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-tw2/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-tw2/hal/etc/pulse/default.pa b/media-config-target-tw2/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-tw2/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-tw2/hal/etc/pulse/device-map.json b/media-config-target-tw2/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..7893e4e --- /dev/null +++ b/media-config-target-tw2/hal/etc/pulse/device-map.json @@ -0,0 +1,31 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:0,0", "call-voice":"alsa:0,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"bt-sco", + "capture-devices":{"normal":"alsa:0,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=48000 mmap=0" + } + }, + ], + "capture-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=48000 mmap=0 channels=1"} + } + ] + } +} diff --git a/media-config-target-tw2/hal/etc/pulse/stream-map.json b/media-config-target-tw2/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..476488b --- /dev/null +++ b/media-config-target-tw2/hal/etc/pulse/stream-map.json @@ -0,0 +1,227 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-sco","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["bt-sco","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["bt-sco","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"ringbacktone-call", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic","bt-sco"], + "avail-out-devices":["builtin-speaker","bt-sco"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","bt-sco"], + "avail-out-devices":["builtin-speaker","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-target-tw2/hal/etc/pulse/system.pa b/media-config-target-tw2/hal/etc/pulse/system.pa new file mode 100644 index 0000000..52f4038 --- /dev/null +++ b/media-config-target-tw2/hal/etc/pulse/system.pa @@ -0,0 +1,70 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 +load-module module-poweroff + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + diff --git a/media-config-target-tw2/hal/etc/xdg/gstomx.conf b/media-config-target-tw2/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..8f514c5 --- /dev/null +++ b/media-config-target-tw2/hal/etc/xdg/gstomx.conf @@ -0,0 +1,139 @@ +[omxdec_mpeg2] +type-name=GstOMXMPEG2VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG2.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_mpeg4] +type-name=GstOMXMPEG4VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +src-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,3840], height=(int) [1,2160], framerate=(fraction)[0/1, MAX] + +[omxdec_h263] +type-name=GstOMXH263Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +src-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,3840], height=(int) [1,2160], framerate=(fraction)[0/1, MAX] + +[omxdec_h264] +type-name=GstOMXH264Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +src-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,3840], height=(int) [1,2160], framerate=(fraction)[0/1, MAX] + +[omxdec_h265] +type-name=GstOMXH265Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.HEVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_vp8] +type-name=GstOMXVP8Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.VP8.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_vp9] +type-name=GstOMXVP9Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.VP9.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_vc1] +type-name=GstOMXWMVDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.WMV.Decoder +rank=256 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport +sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},width=(int)[1,MAX],height=(int)[1,MAX] + +[omxenc_h264] +type-name=GstOMXH264Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-disable-outport;no-component-role +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] +src-template-caps=video/x-h264, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction) [0/1, MAX], alignment=(string) au, stream-format = (string){ avc, byte-stream } + +[omxenc_h265] +type-name=GstOMXH265Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.HEVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-disable-outport;no-component-role + +[omxenc_mpeg4] +type-name=GstOMXMPEG4VideoEnc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-component-role;no-disable-outport +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] + +[omxenc_h263] +type-name=GstOMXH263Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-component-role;no-disable-outport +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] diff --git a/media-config-target-tw2/hal/lib/udev/rules.d/99-ion.rules b/media-config-target-tw2/hal/lib/udev/rules.d/99-ion.rules new file mode 100644 index 0000000..46cf1c4 --- /dev/null +++ b/media-config-target-tw2/hal/lib/udev/rules.d/99-ion.rules @@ -0,0 +1 @@ +KERNEL=="ion", MODE="0660", GROUP="video", SECLABEL{smack}="*" diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a7fd50 --- /dev/null +++ b/media-config-target-tw2/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,119 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tw3.manifest b/media-config-target-tw3.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-tw3.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-tw3/hal/etc/asound.conf b/media-config-target-tw3/hal/etc/asound.conf new file mode 100644 index 0000000..29260e0 --- /dev/null +++ b/media-config-target-tw3/hal/etc/asound.conf @@ -0,0 +1,16 @@ +# default sound configuration + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} + +ctl. Exynos9110Sound { + type hw + card 0 +} diff --git a/media-config-target-tw3/hal/etc/inference/inference_engine.ini b/media-config-target-tw3/hal/etc/inference/inference_engine.ini new file mode 100644 index 0000000..54eddf2 --- /dev/null +++ b/media-config-target-tw3/hal/etc/inference/inference_engine.ini @@ -0,0 +1,3 @@ +[inference backend] +;/*OPENCV=0, Tensorflow-lite=1 +supported backend types = 0,1 diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..0740a69 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = TW1 +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +;VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 0 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0 +AudiomodemsrcElement = pulsesrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,1 +VideosinkElementRemote = tizenipcsink | 4,0 | permissions,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoscale = 0 +VideoscaleElement = videoscale | 1,0 | rotang,90 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 0 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 1 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 0 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +SupportDualStream = 0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..488d6a8 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,124 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] +video/x-raw = videoconvert + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_player.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..9f5e3ab --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = omx +video codec element sw = avdec +video codec default type = hw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = tinycompresssink +audio offload device type = builtin-speaker ; bt-a2dp from pulse stream-map +audio offload media format = MP3 ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2 + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..cc79aae --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +camera = -1 +audio_offload = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-tw3/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-tw3/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-tw3/hal/etc/multimedia/mused.conf b/media-config-target-tw3/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..d83cdf3 --- /dev/null +++ b/media-config-target-tw3/hal/etc/multimedia/mused.conf @@ -0,0 +1,66 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;100MB=100000 +memory_threshold=100000 +enable_watch_external_storage=0 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2,*STATE*:4,*pulse*:4,*audiobasesink:4 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 +caution_instance=-1 + diff --git a/media-config-target-tw3/hal/etc/murphy/murphy.lua b/media-config-target-tw3/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..65af30a --- /dev/null +++ b/media-config-target-tw3/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} + +resource.class { + name = "audio_offload", + shareable = false, + sync_release = true +} diff --git a/media-config-target-tw3/hal/etc/profile.d/mmf.sh b/media-config-target-tw3/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-tw3/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-tw3/hal/etc/pulse/client.conf b/media-config-target-tw3/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-tw3/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-tw3/hal/etc/pulse/daemon.conf b/media-config-target-tw3/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..f9409c7 --- /dev/null +++ b/media-config-target-tw3/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = no +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-tw3/hal/etc/pulse/default.pa b/media-config-target-tw3/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-tw3/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-tw3/hal/etc/pulse/device-map.json b/media-config-target-tw3/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..ff837c3 --- /dev/null +++ b/media-config-target-tw3/hal/etc/pulse/device-map.json @@ -0,0 +1,30 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"tizen:Exynos9110Sound,0", "call-voice":"alsa:0,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"tizen:Exynos9110Sound,9"} + }, + { + "device-type":"bt-sco", + "capture-devices":{"normal":"alsa:Exynos9110Sound,9"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"tizen:Exynos9110Sound,0", + "role":{"normal":"rate=48000 channels=2 fragment_size=4800 fragments=4"} + } + ], + "capture-devices":[ + { + "device-string":"tizen:Exynos9110Sound,9", + "role":{"normal":"rate=48000 channels=2 fragment_size=4800 fragments=4"} + } + ] + } +} diff --git a/media-config-target-tw3/hal/etc/pulse/stream-map.json b/media-config-target-tw3/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..03806e2 --- /dev/null +++ b/media-config-target-tw3/hal/etc/pulse/stream-map.json @@ -0,0 +1,236 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["network","builtin-mic"], + "avail-out-devices":["bt-a2dp","network","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-sco","bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["bt-sco","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["bt-sco","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"ringtone-call", + "priority" : 6, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"ringbacktone-call", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic","bt-sco"], + "avail-out-devices":["builtin-speaker","bt-sco"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"call-voice", + "priority" : 6, + "route-type" : "manual", + "volume-types":{"in":"none","out":"call"}, + "avail-in-devices":["builtin-mic","bt-sco"], + "avail-out-devices":["builtin-speaker","bt-sco"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["network"], + "avail-out-devices":["bt-a2dp","network"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp"], + "avail-frameworks":["wav-player","tone-player"] + }, + { + "role":"compressed-media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["sound-manager"] + } + ] +} diff --git a/media-config-target-tw3/hal/etc/pulse/system.pa b/media-config-target-tw3/hal/etc/pulse/system.pa new file mode 100644 index 0000000..52f4038 --- /dev/null +++ b/media-config-target-tw3/hal/etc/pulse/system.pa @@ -0,0 +1,70 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 +load-module module-poweroff + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + diff --git a/media-config-target-tw3/hal/etc/xdg/gstomx.conf b/media-config-target-tw3/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..dcc97d2 --- /dev/null +++ b/media-config-target-tw3/hal/etc/xdg/gstomx.conf @@ -0,0 +1,139 @@ +[omxdec_mpeg2] +type-name=GstOMXMPEG2VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG2.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_mpeg4] +type-name=GstOMXMPEG4VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +src-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,3840], height=(int) [1,2160], framerate=(fraction)[0/1, MAX] + +[omxdec_h263] +type-name=GstOMXH263Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +src-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,3840], height=(int) [1,2160], framerate=(fraction)[0/1, MAX] + +[omxdec_h264] +type-name=GstOMXH264Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +src-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,3840], height=(int) [1,2160], framerate=(fraction)[0/1, MAX] + +[omxdec_h265] +type-name=GstOMXH265Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.HEVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_vp8] +type-name=GstOMXVP8Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.VP8.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_vp9] +type-name=GstOMXVP9Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.VP9.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_vc1] +type-name=GstOMXWMVDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.WMV.Decoder +rank=256 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=0 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure +sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},width=(int)[1,MAX],height=(int)[1,MAX] + +[omxenc_h264] +type-name=GstOMXH264Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-disable-outport;no-component-role +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] +src-template-caps=video/x-h264, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction) [0/1, MAX], alignment=(string) au, stream-format = (string){ avc, byte-stream } + +[omxenc_h265] +type-name=GstOMXH265Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.HEVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-disable-outport;no-component-role + +[omxenc_mpeg4] +type-name=GstOMXMPEG4VideoEnc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-component-role;no-disable-outport +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] + +[omxenc_h263] +type-name=GstOMXH263Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=0 +hacks=no-component-role;no-disable-outport +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] diff --git a/media-config-target-tw3/hal/lib/udev/rules.d/99-ion.rules b/media-config-target-tw3/hal/lib/udev/rules.d/99-ion.rules new file mode 100644 index 0000000..46cf1c4 --- /dev/null +++ b/media-config-target-tw3/hal/lib/udev/rules.d/99-ion.rules @@ -0,0 +1 @@ +KERNEL=="ion", MODE="0660", GROUP="video", SECLABEL{smack}="*" diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a7fd50 --- /dev/null +++ b/media-config-target-tw3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,119 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-u3.manifest b/media-config-target-u3.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/media-config-target-u3.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/media-config-target-u3/hal/etc/asound.conf b/media-config-target-u3/hal/etc/asound.conf new file mode 100644 index 0000000..acaf318 --- /dev/null +++ b/media-config-target-u3/hal/etc/asound.conf @@ -0,0 +1,11 @@ +# default sound configuration + +pcm. !default { + type hw + card 0 +} + +ctl. !default { + type hw + card 0 +} diff --git a/media-config-target-u3/hal/etc/inference/inference_engine.ini b/media-config-target-u3/hal/etc/inference/inference_engine.ini new file mode 100644 index 0000000..c83c15c --- /dev/null +++ b/media-config-target-u3/hal/etc/inference/inference_engine.ini @@ -0,0 +1,3 @@ +[inference backend] +;OPENCV=0, Tensorflow-lite=1, ARMNN=2, ONE(On-device Neural Engine)=4, BEYOND=5 +supported backend types = 0,1,2,4,5 diff --git a/media-config-target-u3/hal/etc/inference/inference_engine_backend_path.ini b/media-config-target-u3/hal/etc/inference/inference_engine_backend_path.ini new file mode 100644 index 0000000..97b4f0e --- /dev/null +++ b/media-config-target-u3/hal/etc/inference/inference_engine_backend_path.ini @@ -0,0 +1,24 @@ +; This ini file describes, +; 1. which NPU backend to be used for user-given INFERENCE_ENGINE_CUSTOM type. As for NPU device, we will use ML Single API. +; 2. which API framework to be used for a given backend engine such as TFLITE, ARMNN, and OPENCV. +; In default, Mediavision internal API will be used. If you want to use ML Single API then set 'MLAPI' to 'API framework' of each backend section. + +; Available NPU backends : VIVANTE, TRIV2 +; Available backend engine sections : TFLITE, ARMNN, ONE, OPENCV +; Available external inference engine API framework : MLAPI + +[NPU backend] +; Writing rule = [VIVANTE|TRIV2] +type = VIVANTE + +[TFLITE] +; Writing rule = [MLAPI] +API framework = MLAPI + +[ARMNN] +; Writing rule = [MLAPI] +API framework = + +[OPENCV] +; Writing rule = [MLAPI] +API framework = diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini new file mode 100644 index 0000000..6e13b68 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_audio_pcm_dump.ini @@ -0,0 +1,8 @@ +[pcm_dump] +;playback +pa_sink = 0 +pa_sink_input = 0 + +;capture +pa_source = 0 +pa_source_output = 0 diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_audio_volume.ini new file mode 100644 index 0000000..ae7e635 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_audio_volume.ini @@ -0,0 +1,19 @@ +[volumes] +system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94 +notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97 +alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92 +media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100 +call = 60, 65, 70, 76, 82, 88, 94, 100 +voip = 60, 65, 70, 76, 82, 88, 94, 100 +voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100 +gain_dialer = 1.00 +gain_touch = 1.00 +gain_af = 0.70 +gain_shutter1 = 0.14 +gain_shutter2 = 1.00 +gain_camcording = 0.30 +gain_midi = 1.00 +gain_booting = 0.40 +gain_video = 0.90 +gain_tts = 1.00 diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_camcorder.ini new file mode 100644 index 0000000..0d139a2 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_camcorder.ini @@ -0,0 +1,103 @@ +; < Camera/Camcorder Configure Main INI file > +; +; - Header List - +; 1. General +; 2. VideoInput +; 3. AudioInput +; 4. VideoOutput +; 5. Capture +; 6. Record +; 7. VideoEncoder +; 8. AudioEncoder +; 9. ImageEncoder +; 10. Mux +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryMain" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[General] +SyncStateChange = 1 +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE +;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE +ModelName = GT-TIZEN +;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE + +[VideoInput] +VideosrcElement = v4l2src | 1,0 | do-timestamp,1 +UseVideoscale = 1 +VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1 +UseZeroCopyFormat = 0 +DeviceCount = 1 +SupportMediaPacketPreviewCb = 1 + +[AudioInput] +AudioDevice = 0,1 || 0 +AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1 +AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1 + +[VideoOutput] +; DisplayDevice +;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT +DisplayDevice = 0 || 0 +; DisplayMode +;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen +DisplayMode = 0,1,2 || 0 +; Videosink +;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote +Videosink = 0,3,4 || 3 +VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0 +VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0 +VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0 +UseVideoconvert = 1 +VideoconvertElement = videoconvert | 0,0 + +[VideoEncoder] +MPEG4 = avenc_mpeg4 | 0,0 + +[AudioEncoder] +AMR = amrnbenc | 0,0 +AAC = avenc_aac | 1,0 | compliance,-2 +WAVE = wavenc | 0,0 + +[ImageEncoder] +JPEG = jpegenc | 0,0 +;PNG = pngenc | 0,0 + +[Capture] +UseEncodebin = 1 +UseCaptureMode = 0 +VideoscaleElement = videoscale | 1,0 | method,1 + +[Record] +UseAudioEncoderQueue = 1 +UseVideoEncoderQueue = 0 +VideoProfile = 0 +VideoAutoAudioConvert = 1 +VideoAutoAudioResample = 0 +VideoAutoColorSpace = 1 +AudioProfile = 1 +AudioAutoAudioConvert = 1 +AudioAutoAudioResample = 0 +AudioAutoColorSpace = 0 +ImageProfile = 2 +ImageAutoAudioConvert = 0 +ImageAutoAudioResample = 0 +ImageAutoColorSpace = 1 +RecordsinkElement = filesink | 1,0 | async,0 +UseNoiseSuppressor = 0 +DropVideoFrame = 0 +PassFirstVideoFrame = 0 + +[Mux] +3GP = 3gppmux | 0,0 +AMR = avmux_amr | 0,0 +MP4 = mp4mux | 0,0 +AVI = avimux | 0,0 +MATROSKA = matroskamux | 0,0 +WAV = wavenc | 0,0 +AAC = avmux_adts | 0,0 +M2TS = mpegtsmux | 0,0 + diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_camcorder_camera0.ini new file mode 100644 index 0000000..dc61517 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_camcorder_camera0.ini @@ -0,0 +1,206 @@ +; < Camera/Camcorder Configure Control INI file > +; +; - Header List - +; 1. Camera +; 2. Strobe +; 3. Effect +; 4. Photograph +; 5. Capture +; 6. Detect +; +; - Note - +; If you want to add a new header, +; add a new enum value to "enum ConfigureCategoryControl" +; and new default table for it in mm_camcorder_configure.c/.h +; + +[Camera] +; Input index - real setting value +;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA +; Input index - MSL value(convert array index) +;;; -1:NONE, 0:CAMERA0, 1:CAMERA1 +InputIndex = 0,-255 || 0 +DeviceName = USB_CAMERA +PreviewResolution = 320,240 | 640,480 || 320,240 +CaptureResolution = 320,240 | 640,480 || 640,480 +VideoResolution = 320,240 | 640,480 || 640,480 +FPS0 = 0,15,30 || 15 +FPS1 = 0,15,30 || 15 +; PictureForamt - MSL value +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +PictureFormat = 7 || 7 +Overlay = 0,1 || 1 +; Recommend display rotation +;;; 0:NONE, 1:90, 2:180, 3:270 +RecommendDisplayRotation = 0 +; Recommend preview format for capture +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatCapture = 7 +; Recommend preview format for record +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264 +RecommendPreviewFormatRecord = 7 +; Recommend preview resolution +;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1) +RecommendPreviewResolution = 320,240 | 320,240 | 320,240 || 320,240 +; Camera facing direction +;;; 0:REAR, 1:FRONT +FacingDirection = 0 + + +[Strobe] +;StrobeControl - Not support +;StrobeCapabilities - Not support +; Strobe mode - real setting value +;;; 0:BASE, 1:OFF, 2:AUTO, 3:ON, 4:TORCH, 5:MAX +; Strobe mode - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT +StrobeMode = 1,3,2,-255,-255,-255,-255,4 || 2 +;StrobeStatus - Not support +;StrobeEV - Not support + + +[Effect] +Brightness = 0,8 || 4 +;Contrast = 1,7 || 4 +;Saturation = 0,4 || 2 +;Sharpness = 0,4 || 2 + +; White balance - real setting value +;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT +; White balance - MSL value(convert array index) +;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM +WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Color tone - real setting value +;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM +;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE +; Color tone - MSL value(convert array index) +;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED, +;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED, +;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW +ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1 +; Flip - real setting value +;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL +; Flip - MSL value(convert array index) +;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE +;Flip = 2,1,0 || 0 + +; Wide Dynamic Range - real setting value +;;; 0:OFF, 1:ON +; Wide Dynamic Range - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO +WDR = 0,-255,-255 || 0 + +; Part color mode - real setting value +;;; 0:OFF, 1:SWAP, 2:ACCENT +; Part color mode - MSL value(convert array index) +;;; 0:OFF, 1:SWAP, 2:ACCENT +;PartColorMode = 0,1,2 || 0 + +; Part color - real setting value +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +; Part color - MSL value(convert array index) +;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3, +;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY +;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0 + + +[Photograph] +;LensInit = 0,1 || 0 +;DigitalZoom = 0,10 || 0 +;OpticalZoom = 0,0 || 0 + +; Focus mode - real setting value +;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS +; Focus mode - MSL value(convert array index) +;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS +FocusMode = 0,-255,-255,-255,-255,-255 || 0 + +; Auto focus type - real setting value +;;; 0:NORMAL, 1:MACRO, 2:FULL +; Auto focus - MSL value(convert array index) +;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL +AFType = 0,-255,-255,-255 || 0 + +; Auto exposure type - real setting value +;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX +; Auto exposure mode - MSL value(convert array index) +;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2 +AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0 + +;ExposureValue - Not support +;FNumber - Not support +;ShutterSpeed - Not support + +; ISO - real setting value +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600 +; ISO - MSL value(convert array index) +;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200 +ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Program mode - real setting value +;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN, +;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT +; Program mode - MSL value(convert array index) +;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE, +;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT +ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0 + +; Anti-handshake - real setting value +;;; 0:OFF, 1:ON +; Anti-handshake - MSL value(convert array index) +;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON +AntiHandshake = 0,-255,-255,-255 || 0 + +; Video-stabilization - real setting value +;;; 0:OFF, 1:ON +; Video-stabilization - MSL value(convert array index) +;;; 0:OFF, 1:ON +VideoStabilization = 0 || 0 + +; Face zoom mode +;;; 0:OFF, 1:ON +FaceZoomMode = 0 || 0 +; Face zoom level +FaceZoomLevel = 0,0 || 0 + +; PTZ(Pan Tilt Zoom) type +;;; 0:Mechanical, 1:Electronic +;PtzType = 0,1 || 1 + +; Pan range for mechanical movement +;PanMecha = -10,10 + +; Pan range for electronic movement +;PanElec = -10,10 + +; Tilt range for mechanical movement +;TiltMecha = -10,10 + +; Tilt range for electronic movement +;TiltElec = -10,10 + + +[Capture] +; Output mode +;;; No need to convert +;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY +OutputMode = 7,13 || 13 +JpegQuality = 0,100 || 90 +MultishotNumber = 1,1 || 1 +SensorEncodedCapture = 0 +; Support HDR +;;; 0: OFF, 1: ON, 2: ON and Original +SupportHDR = 0,-255,-255 || 0 + + +[Detect] +; Detect mode +;;; 0:OFF, 1:ON +DetectMode = 0,-255 || 0 +;DetectNumber - Not support +;DetectFocusSelect - Not support +;DetectSelectNumber - Not support +;DetectStatus - Not support + diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_media_codec.ini new file mode 100644 index 0000000..9f2a5dd --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_media_codec.ini @@ -0,0 +1,89 @@ +[h261] +hw_decoder = , , +hw_encoder = , , +sw_decoder = , , +sw_encoder = , , + +[h263] +hw_decoder = omxdec_h263, video/x-h263, NV12 +hw_encoder = omxenc_h263, video/x-raw, H263 +sw_decoder = avdec_h263, video/x-h263, I420 +sw_encoder = avenc_h263, video/x-raw, H263 + +[h264] +hw_decoder = omxdec_h264, video/x-h264, NV12 +hw_encoder = omxenc_h264, video/x-raw, H264_SP +sw_decoder = avdec_h264, video/x-h264, I420 +sw_encoder = avenc_h264, video/x-raw, H264_SP + +[mpeg4] +hw_decoder = omxdec_mpeg4, video/mpeg, NV12 +hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP +sw_decoder = avdec_mpeg4, video/mpeg, I420 +sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP + +[aac_lc] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = avenc_aac, audio/x-raw, AAC_LC + +[aac_he] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[aac_he_ps] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[mp3] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE +sw_encoder = , , + +[amr_nb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE +sw_encoder = amrnbenc, audio/x-raw, AMR_NB + +[amr_wb] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE +sw_encoder = , , + +[vorbis] +hw_decoder = , , +hw_encoder = , , +sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE +sw_encoder = , , + +[flac] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE +sw_encoder = , , + +[wmav1] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmav2] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE +sw_encoder = , , + +[wmapro] +hw_decoder = , , +hw_encoder = , , +sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE +sw_encoder = , , diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_media_streamer.ini new file mode 100644 index 0000000..fa7e336 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_media_streamer.ini @@ -0,0 +1,123 @@ +[general] +; generating dot file representing pipeline state +generate dot = no +dot dir = + +; decodebin will be used instead of decoder node +use decodebin = yes + +; comma separated list of element names which +; will not be used in autoplug mode +exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd + +; comma separated list of element names which +; will require resources in autoplug mode +resource elements = omx,sprd + +; comma separated list of arguments +; that will pass to gst_init +gstreamer arguments = --gst-debug=2 + + +;MEDIA_STREAMER_NODE_TYPE_SRC +[node type 1] +audio capture = pulsesrc +video capture = waylandsrc +camera = camerasrc + +;MEDIA_STREAMER_NODE_TYPE_SINK +[node type 2] +audio = pulsesink +overlay = tizenwlsink + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER +[node type 3] +video/x-h263 = avenc_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER +[node type 4] +video/x-h263 = avdec_h263 +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER +[node type 5] +audio/AMR = amrnbenc + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER +[node type 6] +audio/AMR = amrnbdec + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER +[node type 7] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER +[node type 8] + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE +[node type 9] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY +[node type 10] +video/x-h263 = rtph263pay +;video/x-h264 = + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY +[node type 11] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY +[node type 12] +video/x-h263 = rtph263depay +video/x-h264 = rtph264depay + +;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY +[node type 13] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE +[node type 14] + +;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE +[node type 15] + +;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY +[node type 16] +text/x-raw = textoverlay + +;MEDIA_STREAMER_NODE_TYPE_PARSER +[node type 17] +video/x-h263 = h263parse +video/x-h264 = h264parse + +;MEDIA_STREAMER_NODE_TYPE_FILTER +[node type 18] + +;MEDIA_STREAMER_NODE_TYPE_TEE +[node type 19] + +;MEDIA_STREAMER_NODE_TYPE_QUEUE +[node type 20] + +;MEDIA_STREAMER_NODE_TYPE_MQUEUE +[node type 21] + +;MEDIA_STREAMER_NODE_TYPE_MUXER +[node type 22] + +;MEDIA_STREAMER_NODE_TYPE_DEMUXER +[node type 23] + +;MEDIA_STREAMER_NODE_TYPE_RTP +[node type 24] + +;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR +[node type 25] + +;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR +[node type 26] + +;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE +[node type 27] + +;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE +[node type 28] + diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_player.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_player.ini new file mode 100644 index 0000000..01f0c65 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_player.ini @@ -0,0 +1,102 @@ +[general] + +disable segtrap = yes ; same effect with --gst-disable-segtrap + +; set default videosink element according to video surface type(X, EVAS, NULL) +videosink element overlay = tizenwlsink +videosink element fake = fakesink +video converter element = + +; decoder element keyword for resource management. +video codec element hw = ; omx is included in this target but it is not verified. +video codec element sw = avdec +video codec default type = sw ; hw or sw + +audio codec element hw = +audio codec element sw = avdec +audio codec default type = sw ; hw or sw + +; support with HW audio codec +support audio effect = no +support pcm exporting = no +support pitch control = no +support replaygain control = no + +audiosink element = pulsesink + +; audio offload information +audio offload sink element = +audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map +audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10 + +; supported input format of external media source stream +; Use the format keyword of media_format_mimetype_e, MAX:10 +media stream input format = AAC,H264_SP,H264_MP,H264_HP + +; if yes. gstreamer will not update registry +skip rescan = yes +delay before repeat = 50 ; msec + +; comma separated list of tocken which elemnts has it in it's name will not be used +; this works if 'use decodebin = yes' +element exclude keyword = v4l2,omx + +; comma separated list of tocken +; this works if 'use decodebin = yes' +unsupported codec keyword = divx + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1 = --gst-debug=*:2 +gstparam2 = +gstparam3 = +gstparam4 = +gstparam5 = + +; generating dot file representing pipeline state +; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/" +generate dot = no + +; parameter is for only video to be determined +; which clock will be used +; if yes, system clock will be used +; apart from this, audiosink is clock provider for audio +use system clock = yes + +; allowed timeout for changing pipeline state +live state change timeout = 30 ; sec +localplayback state change timeout = 10 ; sec + +; delay in msec for sending EOS +eos delay = 0 ; msec + +; extracted pcm buffer size +pcm buffer size = 51200 ; 50Kbytes + +; max num of bo for sw codec +video bo max = 10 + +; video bo timeout (sec) +video bo timeout = 10 + +; setup pipeline with decodebin2 +use decodebin = no + +[http streaming] + +httpsrc element = souphttpsrc + +http buffering limit = 99.0 ; percent + +; if yes, use file for buffering. +; if no, use memory for buffering. +http use file buffer = no + +; ring buffer size when use mem buffer +http ring buffer size = 20971520 ; 20MBytes + +http max size bytes = 1048576 ; bytes + +http buffering time = 1.2 + +http timeout = 30 ; sec diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_player_audio_effect.ini new file mode 100644 index 0000000..1394608 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_player_audio_effect.ini @@ -0,0 +1,17 @@ +[audio effect] +; name of audio effect element +audio effect element = audioeq + +; preset audio effect setting +audio effect preset = no + +; custom audio effect setting (EQ/extension) +audio effect custom = yes +audio effect custom list = 0 + +audio effect custom eq band num = 7 ; number of EQ bands +audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz) +audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz) + +audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect) +audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect) diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_resource_manager.ini new file mode 100644 index 0000000..082f297 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_resource_manager.ini @@ -0,0 +1,9 @@ +[max volume] +video_overlay = -1 +video_decoder = -1 +video_encoder = -1 +camera = -1 + +[priority] +media = 10 +interrupt = 99 diff --git a/media-config-target-u3/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-target-u3/hal/etc/multimedia/mmfw_streamrecorder.ini new file mode 100644 index 0000000..2888707 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mmfw_streamrecorder.ini @@ -0,0 +1,81 @@ +[general] +;is encsink source is live +encscink source is live = 0 + +retrialcount = 10 + +minimum frame = 5 + +reset pause time = 0 + +screen record = 1 + +convert output buffer num = 6 + +hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed. + +video codec element hw = ; sprd (if verified) or verified hw codec element + +[encodebin] +;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1 +;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3 +encsink bin profile = 0 + +encsink bin auto audio resample = 0 + +encsink bin auto colorspace = 1 + +encsink bin auto audio convert = 1 + +encsink bin use video toggle = 0 + +[pipeline] +encsink bin source = appsrc + +name of audio src = pulsesrc + +h264 encoder = + +h263 encoder = avenc_h263p + +mpeg4 encoder = avenc_mpeg4 + +name of audio encoder = avenc_aac + +use parser = + +name of 3GP muxer = avmux_3gp + +name of MP4 muxer = avmux_mp4 + +name of video converter = videoconvert + +name of sink = filesink + +[video param] +;/*ms*/ +video frame wait time = 200000 + +[audio param] +audio frame minimum space = 102400 + +audio frame wait time = 20000 + +[attribute] +supported height = 1080,720,480,240,288,144 + +supported width = 1920,1280,640,320,352,176 + +;/*AMR, AAC, VORBIS ,PCM*/ +supported audio encoders = AMR,AAC,PCM + +;/* H263 , H264 , MPEG4 */ +supported video encoders = H263,MPEG4 + +;/*3GP , AMR, MP4 , WAV, ADTS*/ +supported file formats = 3GP,MP4,AMR,ADTS,WAV + +[debug] +; generating dot file representing pipeline state +; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh') +generate dot = no diff --git a/media-config-target-u3/hal/etc/multimedia/mused.conf b/media-config-target-u3/hal/etc/multimedia/mused.conf new file mode 100644 index 0000000..d417444 --- /dev/null +++ b/media-config-target-u3/hal/etc/multimedia/mused.conf @@ -0,0 +1,62 @@ +[muse] +; The 'hosts' parameter defines the modules, +; which the user would like to connect to the muse. +; If you want to add host, then write manually. +hosts=player, camera, recorder +logfile=/var/log/mused/muse-server +lockfile=/tmp/.muse_core.lock +min_timeout=5 +max_timeout=90 +;80MB=80000 +memory_threshold=80000 +enable_watch_external_storage=1 + +; parameters for initializing gstreamer +; DEFAULT SET (--gst-debug=*:2) +gstparam1=--gst-debug=*:2 +gstparam2=--gst-disable-segtrap +gstparam3= +gstparam4= +gstparam5= +gstparam6= +gstparam7= +gstparam8= +gstparam9= +gstparam10= + +; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so' +; can be substituted with gstpreload=coreelements' +gstpreload= + +[player] +; The 'player' parameter represents the muse-player. +; This module recovers the "capi-media-player". +path=libmuse-player.so +preloaded=no +timeout=60 +disable_watchdog_api=-1 +;unlimited=-1 +max_instance=-1 + +[camera] +; The 'camera' parameter represents the muse-camera. +; This module recovers the "capi-media-camera". +path=libmuse-camera.so +preloaded=no +timeout=10 +;api 2 is camera_dispatcher_start_preview +disable_watchdog_api=2 +;unlimited=-1 +max_instance=-1 + +[recorder] +; The 'recorder' parameter represents the muse-recorder. +; This module recovers the "capi-media-recorder". +; This one should be paired with the 'camera' module. +path=libmuse-recorder.so +preloaded=no +timeout=10 +;api 5 is recorder_start +disable_watchdog_api=5 +;unlimited=-1 +max_instance=-1 diff --git a/media-config-target-u3/hal/etc/murphy/murphy.lua b/media-config-target-u3/hal/etc/murphy/murphy.lua new file mode 100644 index 0000000..e7d832d --- /dev/null +++ b/media-config-target-u3/hal/etc/murphy/murphy.lua @@ -0,0 +1,99 @@ +m = murphy.get() + +-- load the dlog plugin +m:try_load_plugin('dlog') + +-- load the console plugin +-- m:try_load_plugin('console') + +-- load the dbus plugin +-- if m:plugin_exists('dbus') then +-- m:load_plugin('dbus') +-- end + +-- load the native resource plugin +if m:plugin_exists('resource-native') then + m:load_plugin('resource-native') + m:info("native resource plugin loaded") +else + m:info("No native resource plugin found...") +end + +-- load the dbus resource plugin +m:try_load_plugin('resource-dbus', { + dbus_bus = "system", + dbus_service = "org.Murphy", + dbus_track = true, + default_zone = "driver", + default_class = "implicit" +}) + +-- load the domain control plugin +if m:plugin_exists('domain-control') then + m:load_plugin('domain-control') +else + m:info("No domain-control plugin found...") +end + +if m:plugin_exists('glib') then + m:load_plugin('glib') +else + m:info("No glib plugin found...") +end + +-- define application classes +application_class { + name = "interrupt", + priority = 99, + modal = false, + share = false, + order = "fifo" +} + +application_class { + name = "media", + priority = 10, + modal = false, + share = false, + order = "lifo" +} + +-- define zone attributes +zone.attributes { + type = {mdb.string, "common", "rw"}, + location = {mdb.string, "anywhere", "rw"} +} + +-- define zones +zone { + name = "driver", + attributes = { + type = "common", + location = "front-left" + } +} + +-- define resource classes +resource.class { + name = "video_overlay", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_decoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "video_encoder", + shareable = false, + sync_release = true +} + +resource.class { + name = "camera", + shareable = false, + sync_release = true +} diff --git a/media-config-target-u3/hal/etc/profile.d/mmf.sh b/media-config-target-u3/hal/etc/profile.d/mmf.sh new file mode 100644 index 0000000..7dac276 --- /dev/null +++ b/media-config-target-u3/hal/etc/profile.d/mmf.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export GST_DEBUG=2 +export ORC_CODE=debug +export ORC_DEBUG=5 +export GST_PLUGIN_PATH=@HAL_LIBDIR@/gstreamer-1.0 diff --git a/media-config-target-u3/hal/etc/pulse/client.conf b/media-config-target-u3/hal/etc/pulse/client.conf new file mode 100644 index 0000000..3637b20 --- /dev/null +++ b/media-config-target-u3/hal/etc/pulse/client.conf @@ -0,0 +1,37 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for PulseAudio clients. See pulse-client.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +; default-sink = +; default-source = +default-server = /var/run/pulse/native +; default-dbus-server = + +autospawn = no +; daemon-binary = /usr/bin/pulseaudio +; extra-arguments = --log-target=syslog + +; cookie-file = + +enable-shm = no +shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB + +; auto-connect-localhost = no +; auto-connect-display = no diff --git a/media-config-target-u3/hal/etc/pulse/daemon.conf b/media-config-target-u3/hal/etc/pulse/daemon.conf new file mode 100644 index 0000000..431e66b --- /dev/null +++ b/media-config-target-u3/hal/etc/pulse/daemon.conf @@ -0,0 +1,83 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for +## more information. Default values are commented out. Use either ; or # for +## commenting. + +daemonize = yes +; fail = yes +; allow-module-loading = yes +; allow-exit = yes +; use-pid-file = yes +system-instance = yes +; local-server-type = user +; enable-shm = yes +; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB +; lock-memory = no +; cpu-limit = no + +; high-priority = yes +; nice-level = -11 + +realtime-scheduling = yes +realtime-priority = 5 + +; exit-idle-time = 20 +; scache-idle-time = 20 + +; dl-search-path = (depends on architecture) + +; load-default-script-file = yes +; default-script-file = /etc/pulse/default.pa + +log-target = dlog +log-level = info +; log-meta = no +; log-time = no +; log-backtrace = 0 + +resample-method = speex-fixed-3 +; enable-remixing = yes +; enable-lfe-remixing = no + +flat-volumes = no + +; rlimit-fsize = -1 +; rlimit-data = -1 +; rlimit-stack = -1 +; rlimit-core = -1 +; rlimit-as = -1 +; rlimit-rss = -1 +; rlimit-nproc = -1 +; rlimit-nofile = 256 +; rlimit-memlock = -1 +; rlimit-locks = -1 +; rlimit-sigpending = -1 +; rlimit-msgqueue = -1 +; rlimit-nice = 31 +; rlimit-rtprio = 9 +; rlimit-rttime = 1000000 + +; default-sample-format = s16le +; default-sample-rate = 44100 +alternate-sample-rate = 44100 +; default-sample-channels = 2 +; default-channel-map = front-left,front-right + +; default-fragments = 4 +; default-fragment-size-msec = 25 diff --git a/media-config-target-u3/hal/etc/pulse/default.pa b/media-config-target-u3/hal/etc/pulse/default.pa new file mode 100644 index 0000000..ef8f114 --- /dev/null +++ b/media-config-target-u3/hal/etc/pulse/default.pa @@ -0,0 +1,149 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav +#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav +#load-sample-lazy pulse-access /usr/share/sounds/generic.wav + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +#load-module module-alsa-sink +#load-module module-alsa-source device=hw:1,0 +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. +load-module module-filter-heuristics +load-module module-filter-apply + +### Load DBus protocol +.ifexists module-dbus-protocol.so +load-module module-dbus-protocol +.endif + + +load-module module-switch-on-port-available + +### Make some devices default +#set-default-sink output +#set-default-source input diff --git a/media-config-target-u3/hal/etc/pulse/device-map.json b/media-config-target-u3/hal/etc/pulse/device-map.json new file mode 100644 index 0000000..d35583e --- /dev/null +++ b/media-config-target-u3/hal/etc/pulse/device-map.json @@ -0,0 +1,26 @@ +{ + "device-types":[ + { + "device-type":"builtin-speaker", + "playback-devices":{"normal":"alsa:0,0"} + }, + { + "device-type":"builtin-mic", + "capture-devices":{"normal":"alsa:0,0"} + } + ], + "device-files":{ + "playback-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ], + "capture-devices":[ + { + "device-string":"alsa:0,0", + "role":{"normal":"rate=44100"} + } + ] + } +} diff --git a/media-config-target-u3/hal/etc/pulse/stream-map.json b/media-config-target-u3/hal/etc/pulse/stream-map.json new file mode 100644 index 0000000..245d950 --- /dev/null +++ b/media-config-target-u3/hal/etc/pulse/stream-map.json @@ -0,0 +1,209 @@ +{ + "latencies":[ + { + "type":"low", + "fragsize-ms":25, + "minreq-ms":-1, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"mid", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"high", + "fragsize-ms":75, + "minreq-ms":-1, + "tlength-ms":400, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"voip", + "fragsize-ms":20, + "minreq-ms":20, + "tlength-ms":100, + "prebuf-ms":0, + "maxlength":-1 + }, + { + "type":"default", + "fragsize-ms":50, + "minreq-ms":-1, + "tlength-ms":200, + "prebuf-ms":-1, + "maxlength":-1 + }, + { + "type":"default-async", + "fragsize-ms":50, + "minreq-ms":20, + "tlength-ms":200, + "prebuf-ms":0, + "maxlength":-1 + }, + ], + "volumes":[ + { + "type":"master", + "is-hal-volume":1 + }, + { + "type":"media", + "is-hal-volume":0 + }, + { + "type":"system", + "is-hal-volume":0 + }, + { + "type":"alarm", + "is-hal-volume":0 + }, + { + "type":"notification", + "is-hal-volume":0 + }, + { + "type":"voice", + "is-hal-volume":0 + }, + { + "type":"ringtone", + "is-hal-volume":0 + }, + { + "type":"voip", + "is-hal-volume":0 + }, + { + "type":"call", + "is-hal-volume":1 + } + ], + "streams":[ + { + "role":"media", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"system", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"system"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"alarm", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"alarm"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"notification", + "priority" : 4, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"notification"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"emergency", + "priority" : 4, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-information", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"voice"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["player","wav-player","tone-player","audio-io"] + }, + { + "role":"voice-recognition", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"voice-recognition-service", + "priority" : 3, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio","builtin-mic"], + "avail-out-devices":["none"], + "avail-frameworks":["audio-io"] + }, + { + "role":"ringtone-voip", + "priority" : 5, + "route-type" : "auto-all", + "volume-types":{"in":"none","out":"ringtone"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"] + }, + { + "role":"voip", + "priority" : 5, + "route-type" : "manual", + "volume-types":{"in":"none","out":"voip"}, + "avail-in-devices":["builtin-mic"], + "avail-out-devices":["builtin-speaker"], + "avail-frameworks":["audio-io","tone-player","sound-manager"] + }, + { + "role":"loopback", + "priority" : 2, + "route-type" : "manual", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["usb-audio"], + "avail-frameworks":["sound-manager"] + }, + { + "role":"ext-media", + "priority" : 3, + "route-type" : "manual-ext", + "volume-types":{"in":"none","out":"media"}, + "avail-in-devices":["usb-audio"], + "avail-out-devices":["bt-a2dp","usb-audio"], + "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder"] + }, + { + "role":"solo", + "priority" : 2, + "route-type" : "auto", + "volume-types":{"in":"none","out":"none"}, + "avail-in-devices":["none"], + "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"], + "avail-frameworks":["wav-player","tone-player"] + } + ] +} diff --git a/media-config-target-u3/hal/etc/pulse/system.pa b/media-config-target-u3/hal/etc/pulse/system.pa new file mode 100644 index 0000000..409cdb3 --- /dev/null +++ b/media-config-target-u3/hal/etc/pulse/system.pa @@ -0,0 +1,73 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +# This startup script is used only if PulseAudio is started in system +# mode. + +### Automatically load driver modules depending on the hardware available +### Load several protocols +load-module module-native-protocol-unix auth-anonymous=1 + +### Load module-tizenaudio-policy +load-module module-tizenaudio-policy + +#.ifexists module-udev-detect.so +load-module module-udev-detect +#.endif + +### Sound Player module +load-module module-sound-player +load-module module-tone-player +load-module module-role-ducking global=1 trigger_roles=solo/notification,voice-information ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000 + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif + +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Automatically restore the volume of streams and devices +#load-module module-stream-restore +#load-module module-device-restore + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +.ifexists module-dbus-protocol.so +### If you want to allow TCP connections, set access to "remote" or "local,remote". +load-module module-dbus-protocol access=local +.endif + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +#load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle timeout=1 + +load-sample camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg +load-sample camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg +load-sample recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg +load-sample recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg diff --git a/media-config-target-u3/hal/etc/xdg/gstomx.conf b/media-config-target-u3/hal/etc/xdg/gstomx.conf new file mode 100644 index 0000000..4533527 --- /dev/null +++ b/media-config-target-u3/hal/etc/xdg/gstomx.conf @@ -0,0 +1,78 @@ +[omxdec_mpeg2] +type-name=GstOMXMPEG2VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG2.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_mpeg4] +type-name=GstOMXMPEG4VideoDec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_h263] +type-name=GstOMXH263Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxdec_h264] +type-name=GstOMXH264Dec +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Decoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport;no-component-reconfigure + +[omxenc_h264] +type-name=GstOMXH264Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.AVC.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-disable-outport;no-component-role +sink-template-caps=video/x-raw, format=(string)SN12, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction)[0/1, MAX] +src-template-caps=video/x-h264, width=(int) [1,1920], height=(int) [1,1080], framerate=(fraction) [0/1, MAX], alignment=(string) au, stream-format = (string){ avc, byte-stream } + +[omxenc_mpeg4] +type-name=GstOMXMPEG4VideoEnc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.MPEG4.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport + +[omxenc_h263] +type-name=GstOMXH263Enc +core-name=@HAL_LIBDIR@/libExynosOMX_Core.so +component-name=OMX.Exynos.H263.Encoder +rank=258 +in-port-index=0 +out-port-index=1 +in-port-usebuffer=1 +out-port-usebuffer=1 +hacks=no-component-role;no-disable-outport diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf new file mode 100644 index 0000000..db78eb4 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'Aux' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf new file mode 100644 index 0000000..baf674a --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where an 'FM' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-radio + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +.include analog-input.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf new file mode 100644 index 0000000..4be5722 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf new file mode 100644 index 0000000..f7f3085 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic/Line' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 +name = analog-input + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf new file mode 100644 index 0000000..2a36f2f --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Mic' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 +name = analog-input-microphone + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common new file mode 100644 index 0000000..b35e7af --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common @@ -0,0 +1,63 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common element for all microphone inputs +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Mic Select' + +[Element Mic Select] +enumeration = select + +[Option Mic Select:Mic1] +name = input-microphone +priority = 20 + +[Option Mic Select:Mic2] +name = input-microphone +priority = 19 + +;;; Various Boosts + +[Element Mic Boost (+20dB)] +switch = select +volume = merge + +[Option Mic Boost (+20dB):on] +name = input-boost-on + +[Option Mic Boost (+20dB):off] +name = input-boost-off + +[Element Mic Boost] +switch = select +volume = merge + +[Option Mic Boost:on] +name = input-boost-on + +[Option Mic Boost:off] +name = input-boost-off + +[Element Front Mic Boost] +switch = select + +[Option Front Mic Boost:on] +name = input-boost-on + +[Option Front Mic Boost:off] +name = input-boost-off diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf new file mode 100644 index 0000000..8531ec7 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf @@ -0,0 +1,62 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'TV Tuner' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 +name = analog-input-video + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +switch = off +volume = off + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf new file mode 100644 index 0000000..74c76f0 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf @@ -0,0 +1,61 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; For devices where a 'Video' element exists +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 70 + +[Element Capture] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +switch = off +volume = off + +[Element Line] +switch = off +volume = off + +[Element Aux] +switch = off +volume = off + +[Element Video] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic/Line] +switch = off +volume = off + +[Element TV Tuner] +switch = off +volume = off + +[Element FM] +switch = off +volume = off + +.include analog-input.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf new file mode 100644 index 0000000..5055f90 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf @@ -0,0 +1,54 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV +; Tuner/FM elements +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Capture] +required = volume +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Mic] +required-absent = any + +[Element Line] +required-absent = any + +[Element Aux] +required-absent = any + +[Element Video] +required-absent = any + +[Element Mic/Line] +required-absent = any + +[Element TV Tuner] +required-absent = any + +[Element FM] +required-absent = any + +.include analog-input.conf.common +.include analog-input-mic.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common new file mode 100644 index 0000000..951e11f --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common @@ -0,0 +1,294 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Mixer path for PulseAudio's ALSA backend, common elements for all +; input paths. If multiple options by the same id are discovered they +; will be suffixed with a number to distuingish them, in the same +; order they appear here. +; +; Source selection should use the following names: +; +; input -- If we don't know the exact kind of input +; input-microphone +; input-microphone-internal +; input-microphone-external +; input-linein +; input-video +; input-radio +; input-docking-microphone +; input-docking-linein +; input-docking +; +; We explicitly don't want to wrap the following sources: +; +; CD +; Synth/MIDI +; Phone +; Mix +; Digital/SPDIF +; Master +; PC Speaker +; +; See analog-output.conf.common for an explanation on the directives + +;;; 'Input Source Select' + +[Element Input Source Select] +enumeration = select + +[Option Input Source Select:Input1] +name = input +priority = 10 + +[Option Input Source Select:Input2] +name = input +priority = 5 + +;;; 'Input Source' + +[Element Input Source] +enumeration = select + +[Option Input Source:Mic] +name = input-microphone +priority = 20 + +[Option Input Source:Microphone] +name = input-microphone +priority = 20 + +[Option Input Source:Front Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Front Microphone] +name = input-microphone +priority = 19 + +[Option Input Source:Internal Mic] +name = input-microphone +priority = 19 + +[Option Input Source:Line] +name = input-linein +priority = 18 + +[Option Input Source:Line-In] +name = input-linein +priority = 18 + +[Option Input Source:Line In] +name = input-linein +priority = 18 + +[Option Input Source:Docking-Station] +name = input-docking +priority = 17 + +[Option Input Source:AUX IN] +name = input +priority = 10 + +;;; 'Capture Source' + +[Element Capture Source] +enumeration = select + +[Option Capture Source:TV Tuner] +name = input-video + +[Option Capture Source:FM] +name = input-radio + +[Option Capture Source:Mic/Line] +name = input + +[Option Capture Source:Line/Mic] +name = input + +[Option Capture Source:Mic] +name = input-microphone + +[Option Capture Source:Microphone] +name = input-microphone + +[Option Capture Source:Int Mic] +name = input-microphone-internal + +[Option Capture Source:Int DMic] +name = input-microphone-internal + +[Option Capture Source:Internal Mic] +name = input-microphone-internal + +[Option Capture Source:iMic] +name = input-microphone-internal + +[Option Capture Source:i-Mic] +name = input-microphone-internal + +[Option Capture Source:Internal Microphone] +name = input-microphone-internal + +[Option Capture Source:Front Mic] +name = input-microphone + +[Option Capture Source:Front Microphone] +name = input-microphone + +[Option Capture Source:Rear Mic] +name = input-microphone + +[Option Capture Source:Mic1] +name = input-microphone + +[Option Capture Source:Mic2] +name = input-microphone + +[Option Capture Source:D-Mic] +name = input-microphone + +[Option Capture Source:IntMic] +name = input-microphone-internal + +[Option Capture Source:ExtMic] +name = input-microphone-external + +[Option Capture Source:Ext Mic] +name = input-microphone-external + +[Option Capture Source:E-Mic] +name = input-microphone-external + +[Option Capture Source:e-Mic] +name = input-microphone-external + +[Option Capture Source:LineIn] +name = input-linein + +[Option Capture Source:Analog] +name = input + +[Option Capture Source:Line] +name = input-linein + +[Option Capture Source:Line-In] +name = input-linein + +[Option Capture Source:Line In] +name = input-linein + +[Option Capture Source:Video] +name = input-video + +[Option Capture Source:Aux] +name = input + +[Option Capture Source:Aux0] +name = input + +[Option Capture Source:Aux1] +name = input + +[Option Capture Source:Aux2] +name = input + +[Option Capture Source:Aux3] +name = input + +[Option Capture Source:AUX IN] +name = input + +[Option Capture Source:Aux In] +name = input + +[Option Capture Source:AOUT] +name = input + +[Option Capture Source:AUX] +name = input + +[Option Capture Source:Cam Mic] +name = input-microphone + +[Option Capture Source:Digital Mic] +name = input-microphone + +[Option Capture Source:Digital Mic 1] +name = input-microphone + +[Option Capture Source:Digital Mic 2] +name = input-microphone + +[Option Capture Source:Analog Inputs] +name = input + +[Option Capture Source:Unknown1] +name = input + +[Option Capture Source:Unknown2] +name = input + +[Option Capture Source:Docking-Station] +name = input-docking + +[Option Capture Source:Dock Mic] +name = input-docking-microphone + +;;; 'Mic Jack Mode' + +[Element Mic Jack Mode] +enumeration = select + +[Option Mic Jack Mode:Mic In] +name = input-microphone + +[Option Mic Jack Mode:Line In] +name = input-linein + +;;; 'Digital Input Source' + +[Element Digital Input Source] +enumeration = select + +[Option Digital Input Source:Analog Inputs] +name = input + +[Option Digital Input Source:Digital Mic 1] +name = input-microphone + +[Option Digital Input Source:Digital Mic 2] +name = input-microphone + +;;; Various Boosts + +[Element Capture Boost] +switch = select + +[Option Capture Boost:on] +name = input-boost-on + +[Option Capture Boost:off] +name = input-boost-off + +[Element Auto Gain Control] +switch = select + +[Option Auto Gain Control:on] +name = input-agc-on + +[Option Auto Gain Control:off] +name = input-agc-off diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf new file mode 100644 index 0000000..f2fd31c --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone2' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 89 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the second headphones, not +; the first headphones. But it should not hurt if we leave the +; headphone jack enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf new file mode 100644 index 0000000..2131cfe --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Headphone' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 90 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +[Element Headphone] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the first headphones, not +; the second headphones. But it should not hurt if we leave the second +; headphone jack enabled nonetheless. +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = off +volume = off + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf new file mode 100644 index 0000000..0a43e27 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf @@ -0,0 +1,85 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage in laptops that have a seperate LFE speaker +; connected to the Master mono connector +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 40 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all-no-lfe +override-map.2 = all-left,all-right + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf new file mode 100644 index 0000000..542edc4 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf @@ -0,0 +1,82 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for usage on boards that have a seperate Mono output plug. +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 50 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = off +volume = off + +[Element Master Mono] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = off +volume = off + +[Element Rear] +switch = off +volume = off + +[Element Surround] +switch = off +volume = off + +[Element Side] +switch = off +volume = off + +[Element Center] +switch = off +volume = off + +[Element LFE] +switch = off +volume = off + +.include analog-output.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf new file mode 100644 index 0000000..aea7853 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf @@ -0,0 +1,94 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Path for mixers that have a 'Speaker' control +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 100 + +[Element Hardware Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the speaker, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = mute +volume = zero + +[Element Headphone2] +switch = mute +volume = zero + +[Element Speaker] +required = any +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Front] +switch = mute +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = mute +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = mute +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = mute +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = mute +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf new file mode 100644 index 0000000..fc30800 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf @@ -0,0 +1,92 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Intended for the 'default' output. Note that a-o-speaker.conf has a +; higher priority than this +; +; See analog-output.conf.common for an explanation on the directives + +[General] +priority = 99 + +[Element Hardware Master] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master] +switch = ignore +volume = ignore +override-map.1 = all +override-map.2 = all-left,all-right + +[Element Master Mono] +switch = off +volume = off + +; This profile path is intended to control the default output, not the +; headphones. But it should not hurt if we leave the headphone jack +; enabled nonetheless. +[Element Headphone] +switch = ignore +volume = zero + +[Element Headphone2] +switch = ignore +volume = zero + +[Element Speaker] +switch = ignore +volume = off + +[Element Front] +switch = ignore +volume = merge +override-map.1 = all-front +override-map.2 = front-left,front-right + +[Element Rear] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Surround] +switch = ignore +volume = merge +override-map.1 = all-rear +override-map.2 = rear-left,rear-right + +[Element Side] +switch = ignore +volume = merge +override-map.1 = all-side +override-map.2 = side-left,side-right + +[Element Center] +switch = ignore +volume = merge +override-map.1 = all-center +override-map.2 = all-center,all-center + +[Element LFE] +switch = ignore +volume = merge +override-map.1 = lfe +override-map.2 = lfe,lfe + +.include analog-output.conf.common diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common new file mode 100644 index 0000000..3204846 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common @@ -0,0 +1,128 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Common part of all paths + +; So here's generally how mixer paths are used by PA: PA goes through +; a mixer path file from top to bottom and checks if a mixer element +; described therein exists. If so it is added to the list of mixer +; elements PA will control, keeping the order it read them in. If a +; mixer element described here has set the required= or +; required-absent= directives a path might not be accepted as valid +; and is ignored in its entirety (see below). However usually if a +; element listed here is missing this one element is ignored but not +; the entire path. +; +; When a device shall be muted/unmuted *all* elements listed in a path +; file with "switch = mute" will be toggled. +; +; When a device shall change its volume, PA will got through the list +; of all elements with "volume = merge" and set the volume on the +; first element. If that element does not support dB volumes, this is +; where the story ends. If it does support dB volumes, PA divides the +; requested volume by the volume that was set on this element, and +; then go on to the next element with "volume = merge" and then set +; that there, and so on. That way the first volume element in the +; path will be the one that does the 'biggest' part of the overall +; volume adjustment, with the remaining elements usually being set to +; some value next to 0dB. This logic makes sure we get the full range +; over all volume sliders and a very high granularity of volumes +; already in hardware. +; +; All switches and enumerations set to "select" are exposed via the +; "port" functionality of sinks/sources. Basically every possible +; switch setting and every possible enumeration setting will be +; combined and made into a "port". So make sure you don't list too +; many switches/enums for exposing, because the number of ports might +; rise exponentially. +; +; Only one path can be selected at a time. All paths that are valid +; for an audio device will be exposed as "port" for the sink/source. + + +; [General] +; priority = ... # Priority for this path +; description = ... +; +; [Option ...:...] # For each option of an enumeration or switch element +; # that shall be exposed as a sink/source port. Needs to +; # be named after the Element, followed by a colon, followed +; # by the option name, resp. on/off if the element is a switch. +; name = ... # Logical name to use in the path identifier +; priority = ... # Priority if this is made into a device port +; +; [Element ...] # For each element that we shall control +; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available, +; # otherwise don't consider this path valid for the card +; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not +; # available, otherwise don't consider this path valid for the card +; +; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status, +; # always set it to off, always to on, or make it selectable as port. +; # If set to 'select' you need to define an Option section for on +; # and off +; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device +; # volume slider, always set it to the lowest value possible, or always +; # set it to 0 dB (for whatever that means) +; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable +; # via device ports. If set to 'select' you need to define an Option section +; # for each of the items you want to expose +; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be +; # set the direction of the PCM device is opened as. Generally this doesn't need to be set +; # unless you have a broken driver that has playback controls marked for capture or vice +; # versa +; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too? +; +; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel +; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels +; # Override maps should list for each element channel which high-level channels it controls via a +; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left", +; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of +; # channels in a mask + +[Element PCM] +switch = ignore +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right + +[Element External Amplifier] +switch = select + +[Option External Amplifier:on] +name = output-amplifier-on +priority = 10 + +[Option External Amplifier:off] +name = output-amplifier-off +priority = 0 + +;;; 'Analog Output' + +[Element Analog Output] +enumeration = select + +[Option Analog Output:Speakers] +name = output-speaker +priority = 10 + +[Option Analog Output:Headphones] +name = output-headphones +priority = 9 + +[Option Analog Output:FP Headphones] +name = output-headphones +priority = 8 diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf new file mode 100644 index 0000000..9838138 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf @@ -0,0 +1,144 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned. (and should be good enough for the vast majority of +; cards). Use the udev property PULSE_PROFILE_SET to assign a +; different profile set than this one to a device. So what is this +; about? Simply, what we do here is map ALSA devices to how they are +; exposed in PA. We say which ALSA device string to use to open a +; device, which channel mapping to use then, and which mixer path to +; use. This is encoded in a 'mapping'. Multiple of these mappings can +; be bound together in a 'profile' which is then directly exposed in +; the UI as a card profile. Each mapping assigned to a profile will +; result in one sink/source to be created if the profile is selected +; for the card. + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:0 +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping analog-stereo] +device-strings = front:%f hw:0 +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping analog-surround-40] +device-strings = surround40:%f +channel-map = front-left,front-right,rear-left,rear-right +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-41] +device-strings = surround41:%f +channel-map = front-left,front-right,rear-left,rear-right,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-50] +device-strings = surround50:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping analog-surround-51] +device-strings = surround51:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 8 +direction = output + +[Mapping analog-surround-71] +device-strings = surround71:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +description = Analog Surround 7.1 +paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono +priority = 7 +direction = output + +[Mapping iec958-stereo] +device-strings = iec958:%f +channel-map = left,right +priority = 5 + +[Mapping iec958-surround-40] +device-strings = iec958:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 1 + +[Mapping iec958-ac3-surround-40] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right +priority = 2 +direction = output + +[Mapping iec958-ac3-surround-51] +device-strings = a52:%f +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 3 +direction = output + +[Mapping hdmi-stereo] +device-strings = hdmi:%f +channel-map = left,right +priority = 4 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf new file mode 100644 index 0000000..2b83530 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf @@ -0,0 +1,91 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 4 DJ +; +; This card has two stereo pairs of input and two stereo pairs of +; output, named channels A and B. Channel B has an additional +; Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b-output] +description = Analog Stereo Channel B (Headphones) +device-strings = hw:%f,0,1 +channel-map = left,right +direction = output + +[Mapping analog-stereo-b-input] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B (Headphones) +output-mappings = analog-stereo-a analog-stereo-b-output +input-mappings = analog-stereo-a analog-stereo-b-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B (Headphones) +output-mappings = analog-stereo-b-output +input-mappings = analog-stereo-b-input +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B (Headphones) +output-mappings = analog-stereo-b-output +priority = 6 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b-input +priority = 1 +skip-probe = yes diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf new file mode 100644 index 0000000..3fe3cc5 --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf @@ -0,0 +1,162 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Native Instruments Audio 8 DJ +; +; This card has four stereo pairs of input and four stereo pairs of +; output, named channels A to D. Channel C has an additional Mic/Line +; connector, channel D an additional Headphone connector. +; +; We knowingly only define a subset of the theoretically possible +; mapping combinations as profiles here. +; +; See default.conf for an explanation on the directives used here. + +[General] +auto-profiles = no + +[Mapping analog-stereo-a] +description = Analog Stereo Channel A +device-strings = hw:%f,0,0 +channel-map = left,right + +[Mapping analog-stereo-b] +description = Analog Stereo Channel B +device-strings = hw:%f,0,1 +channel-map = left,right + +# Since we want to set a different description for channel C's/D's input +# and output we define two seperate mappings for them +[Mapping analog-stereo-c-output] +description = Analog Stereo Channel C +device-strings = hw:%f,0,2 +channel-map = left,right +direction = output + +[Mapping analog-stereo-c-input] +description = Analog Stereo Channel C (Line/Mic) +device-strings = hw:%f,0,2 +channel-map = left,right +direction = input + +[Mapping analog-stereo-d-output] +description = Analog Stereo Channel D (Headphones) +device-strings = hw:%f,0,3 +channel-map = left,right +direction = output + +[Mapping analog-stereo-d-input] +description = Analog Stereo Channel D +device-strings = hw:%f,0,3 +channel-map = left,right +direction = input + +[Profile output:analog-stereo-all+input:analog-stereo-all] +description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones) +output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input +priority = 100 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-c] +description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-c-input +priority = 90 +skip-probe = yes + +[Profile output:analog-stereo-c-d+input:analog-stereo-c-d] +description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic) +output-mappings = analog-stereo-c-output analog-stereo-d-output +input-mappings = analog-stereo-c-input analog-stereo-d-input +priority = 80 +skip-probe = yes + +[Profile output:analog-stereo-a+input:analog-stereo-a] +description = Analog Stereo Duplex Channel A +output-mappings = analog-stereo-a +input-mappings = analog-stereo-a +priority = 50 +skip-probe = yes + +[Profile output:analog-stereo-b+input:analog-stereo-b] +description = Analog Stereo Duplex Channel B +output-mappings = analog-stereo-b +input-mappings = analog-stereo-b +priority = 40 +skip-probe = yes + +[Profile output:analog-stereo-c+input:analog-stereo-c] +description = Analog Stereo Duplex Channel C (Line/Mic) +output-mappings = analog-stereo-c-output +input-mappings = analog-stereo-c-input +priority = 60 +skip-probe = yes + +[Profile output:analog-stereo-d+input:analog-stereo-d] +description = Analog Stereo Duplex Channel D (Headphones) +output-mappings = analog-stereo-d-output +input-mappings = analog-stereo-d-input +priority = 70 +skip-probe = yes + +[Profile output:analog-stereo-a] +description = Analog Stereo Output Channel A +output-mappings = analog-stereo-a +priority = 6 +skip-probe = yes + +[Profile output:analog-stereo-b] +description = Analog Stereo Output Channel B +output-mappings = analog-stereo-b +priority = 5 +skip-probe = yes + +[Profile output:analog-stereo-c] +description = Analog Stereo Output Channel C +output-mappings = analog-stereo-c-output +priority = 7 +skip-probe = yes + +[Profile output:analog-stereo-d] +description = Analog Stereo Output Channel D (Headphones) +output-mappings = analog-stereo-d-output +priority = 8 +skip-probe = yes + +[Profile input:analog-stereo-a] +description = Analog Stereo Input Channel A +input-mappings = analog-stereo-a +priority = 2 +skip-probe = yes + +[Profile input:analog-stereo-b] +description = Analog Stereo Input Channel B +input-mappings = analog-stereo-b +priority = 1 +skip-probe = yes + +[Profile input:analog-stereo-c] +description = Analog Stereo Input Channel C (Line/Mic) +input-mappings = analog-stereo-c-input +priority = 4 +skip-probe = yes + +[Profile input:analog-stereo-d] +description = Analog Stereo Input Channel D +input-mappings = analog-stereo-d-input +priority = 3 +skip-probe = yes diff --git a/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf new file mode 100644 index 0000000..6a8d08b --- /dev/null +++ b/media-config-target-u3/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf @@ -0,0 +1,127 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +; Default profile definitions for the ALSA backend of PulseAudio. This +; is used as fallback for all cards that have no special mapping +; assigned (and should be good enough for the vast majority of +; cards). If you want to assign a different profile set than this one +; to a device, either set the udev property PULSE_PROFILE_SET for the +; card, or use the "profile_set" module argument when loading +; module-alsa-card. +; +; So what is this about? Simply, what we do here is map ALSA devices +; to how they are exposed in PA. We say which ALSA device string to +; use to open a device, which channel mapping to use then, and which +; mixer path to use. This is encoded in a 'mapping'. Multiple of these +; mappings can be bound together in a 'profile' which is then directly +; exposed in the UI as a card profile. Each mapping assigned to a +; profile will result in one sink/source to be created if the profile +; is selected for the card. +; +; Additionally, the path set configuration files can describe the +; decibel values assigned to the steps of the volume elements. This +; can be used to work around situations when the alsa driver doesn't +; provide any decibel information, or when the information is +; incorrect. + + +; [General] +; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate +; # them by combining every input mapping with every output mapping. +; +; [Mapping id] +; device-strings = ... # ALSA device string. %f will be replaced by the card identifier. +; channel-map = ... # Channel mapping to use for this device +; description = ... +; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed. +; # If multiple are found to be working they will be available as device ports +; paths-output = ... +; element-input = ... # Instead of configuring a full mixer path simply configure a single +; # mixer element for volume/mute handling +; element-output = ... +; priority = ... +; direction = any | input | output # Only useful for? +; +; [Profile id] +; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be +; # defined in this file too +; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be +; # defined in this file too +; description = ... +; priority = ... # Numeric value to deduce priority for this profile +; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile +; # will be assumed as working without probing. Makes initialization +; # a bit faster but only works if the card is really known well. +; +; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB +; # information from alsa. A decibel fix is a table that maps volume steps +; # to decibel values for one volume element. The "element" part in the +; # section title is the name of the volume element. +; # +; # NOTE: This feature is meant just as a help for figuring out the correct +; # decibel values. PulseAudio is not the correct place to maintain the +; # decibel mappings! +; # +; # If you need this feature, then you should make sure that when you have +; # the correct values figured out, the alsa driver developers get informed +; # too, so that they can fix the driver. +; +; db-values = ... # The option value consists of pairs of step numbers and decibel values. +; # The pairs are separated with whitespace, and steps are separated from +; # the corresponding decibel values with a colon. The values must be in an +; # increasing order. Here's an example of a valid string: +; # +; # "0:-40.50 1:-38.70 3:-33.00 11:0" +; # +; # The lowest step imposes a lower limit for hardware volume and the +; # highest step correspondingly imposes a higher limit. That means that +; # that the mixer will never be set outside those values - the rest of the +; # volume scale is done using software volume. +; # +; # As can be seen in the example, you don't need to specify a dB value for +; # each step. The dB values for skipped steps will be linearly interpolated +; # using the nearest steps that are given. + +[General] +auto-profiles = yes + +[Mapping analog-mono] +device-strings = hw:%f +channel-map = mono +paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 1 + +[Mapping usb-analog-stereo] +device-strings = hw:%f +channel-map = left,right +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono +paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line +priority = 10 + +[Mapping usb-analog-surround-51] +device-strings = hw:%f +;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono +priority = 180 +direction = output + +; An example for defining multiple-sink profiles +#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] +#description = Foobar +#output-mappings = analog-stereo iec958-stereo +#input-mappings = analog-stereo diff --git a/packaging/media-config.spec b/packaging/media-config.spec new file mode 100644 index 0000000..0393be1 --- /dev/null +++ b/packaging/media-config.spec @@ -0,0 +1,437 @@ +Name: media-config +Summary: Multimedia Framework system configuration package +Version: 0.3.0 +Release: 0 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 +Source0: %{name}-%{version}.tar.gz +Requires: sed + +%description +Multimedia Framework system configuration package including ini, conf and etc files. + + +%ifarch %arm aarch64 + +%package target-u3 +Summary: Multimedia Framework system configuration package for u3 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-u3 +Multimedia Framework system configuration package including ini, conf and etc files for u3 target. + +%package target-n4 +Summary: Multimedia Framework system configuration package for n4 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-n4 +Multimedia Framework system configuration package including ini, conf and etc files for n4 target. + +%package target-hawkp +Summary: Multimedia Framework system configuration package for hawkp +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-hawkp +Multimedia Framework system configuration package including ini, conf and etc files for hawkp target. + +%package target-tm1 +Summary: Multimedia Framework system configuration package for tm1 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-tm1 +Multimedia Framework system configuration package including ini, conf and etc files for tm1 target. + +%package target-tw1 +Summary: Multimedia Framework system configuration package for tw1 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-tw1 +Multimedia Framework system configuration package including ini, conf and etc files for tw1 target. + +%package target-artik10 +Summary: Multimedia Framework system configuration package for artik 10 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-artik10 +Multimedia Framework system configuration package including ini, conf and etc files for artik 10 target. + +%package target-tw2 +Summary: Multimedia Framework system configuration package for tw2 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-tw2 +Multimedia Framework system configuration package including ini, conf and etc files for tw2 target. + +%package target-rpi3 +Summary: Multimedia Framework system configuration package for rpi3 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-rpi3 +Multimedia Framework system configuration package including ini, conf and etc files for rpi3 target. + +%package target-tw3 +Summary: Multimedia Framework system configuration package for tw3 +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-tw3 +Multimedia Framework system configuration package including ini, conf and etc files for tw3 target. + +%package target-rpi3-spk +Summary: Multimedia Framework system configuration package for rpi3 speaker +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description target-rpi3-spk +Multimedia Framework system configuration package including ini, conf and etc files for rpi3 speaker target. + +%else + +%package simulator +Summary: Multimedia Framework system configuration package for simulator +Group: Multimedia/Configuration +License: LGPL-2.1 and Apache-2.0 + +%description simulator +Multimedia Framework system configuration package including ini, conf and etc files for simulator. + +%endif + + +%prep +%setup -q -n %{name}-%{version} + + +%build + + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_hal_datadir} + + +%ifarch %arm aarch64 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-u3 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-u3 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-u3 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-u3 +cp -arf %{name}-target-u3/* %{buildroot}%{_hal_datadir}/%{name}-target-u3 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-n4 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-n4 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-n4 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-n4 +cp -arf %{name}-target-n4/* %{buildroot}%{_hal_datadir}/%{name}-target-n4 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-hawkp +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-hawkp +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-hawkp +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-hawkp +cp -arf %{name}-target-hawkp/* %{buildroot}%{_hal_datadir}/%{name}-target-hawkp + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-tm1 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-tm1 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-tm1 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-tm1 +cp -arf %{name}-target-tm1/* %{buildroot}%{_hal_datadir}/%{name}-target-tm1 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-tw1 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-tw1 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-tw1 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-tw1 +cp -arf %{name}-target-tw1/* %{buildroot}%{_hal_datadir}/%{name}-target-tw1 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-artik10 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-artik10 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-artik10 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-artik10 +cp -arf %{name}-target-artik10/* %{buildroot}%{_hal_datadir}/%{name}-target-artik10 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-tw2 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-tw2 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-tw2 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-tw2 +cp -arf %{name}-target-tw2/* %{buildroot}%{_hal_datadir}/%{name}-target-tw2 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-rpi3 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-rpi3 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-rpi3 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-rpi3 +cp -arf %{name}-target-rpi3/* %{buildroot}%{_hal_datadir}/%{name}-target-rpi3 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-tw3 +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-tw3 +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-tw3 +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-tw3 +cp -arf %{name}-target-tw3/* %{buildroot}%{_hal_datadir}/%{name}-target-tw3 + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-target-rpi3-spk +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-target-rpi3-spk +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-rpi3-spk +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-rpi3-spk +cp -arf %{name}-target-rpi3-spk/* %{buildroot}%{_hal_datadir}/%{name}-target-rpi3-spk + +%else + +mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-simulator +cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-simulator +cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-simulator +mkdir -p %{buildroot}%{_hal_datadir}/%{name}-simulator +cp -arf %{name}-simulator/* %{buildroot}%{_hal_datadir}/%{name}-simulator + +%endif + +%ifarch %arm aarch64 + +%post target-u3 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/xdg/gstomx.conf +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-u3/* / +rm -rf %{_hal_datadir}/%{name}-target-u3 + +%post target-n4 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/xdg/gstomx.conf +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-n4/* / +rm -rf %{_hal_datadir}/%{name}-target-n4 + +%post target-hawkp +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-hawkp/* / +rm -rf %{_hal_datadir}/%{name}-target-hawkp + +%post target-tm1 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-tm1/* / +rm -rf %{_hal_datadir}/%{name}-target-tm1 + +%post target-tw1 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/xdg/gstomx.conf +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-tw1/* / +rm -rf %{_hal_datadir}/%{name}-target-tw1 + +%post target-artik10 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-artik10/* / +rm -rf %{_hal_datadir}/%{name}-target-artik10 + +%post target-tw2 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/xdg/gstomx.conf +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-tw2/* / +rm -rf %{_hal_datadir}/%{name}-target-tw2 + +%post target-rpi3 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-rpi3/* / +rm -rf %{_hal_datadir}/%{name}-target-rpi3 + +%post target-tw3 +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/xdg/gstomx.conf +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-tw3/* / +rm -rf %{_hal_datadir}/%{name}-target-tw3 + +%post target-rpi3-spk +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-target-rpi3-spk/* / +rm -rf %{_hal_datadir}/%{name}-target-rpi3-spk + +%else + +%post simulator +sed -i -e 's|@HAL_LIBDIR@|%{_hal_libdir}|g' %{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/profile.d/mmf.sh +cp -arf %{_hal_datadir}/%{name}-simulator/* / +rm -rf %{_hal_datadir}/%{name}-simulator + +%endif + + +%postun + + +%ifarch %arm aarch64 + +%files target-u3 +%manifest %{name}-target-u3.manifest +%{_hal_licensedir}/%{name}-target-u3/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/inference/*.ini +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-u3%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-u3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-u3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-u3%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-n4 +%manifest %{name}-target-n4.manifest +%{_hal_licensedir}/%{name}-target-n4/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/inference/*.ini +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-n4%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-n4%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-n4%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-n4%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-hawkp +%manifest %{name}-target-hawkp.manifest +%{_hal_licensedir}/%{name}-target-hawkp/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-hawkp%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-hawkp%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-hawkp%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-hawkp%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-tm1 +%manifest %{name}-target-tm1.manifest +%{_hal_licensedir}/%{name}-target-tm1/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/inference/*.ini +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-tm1%{_hal_sysconfdir}/multimedia/audio_hw.xml +%{_hal_datadir}/%{name}-target-tm1%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-tm1%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-tm1%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-tw1 +%manifest %{name}-target-tw1.manifest +%{_hal_licensedir}/%{name}-target-tw1/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-tw1%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-tw1%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-tw1%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-tw1%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-artik10 +%manifest %{name}-target-artik10.manifest +%{_hal_licensedir}/%{name}-target-artik10/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-artik10%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-artik10%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-artik10%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-artik10%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-tw2 +%manifest %{name}-target-tw2.manifest +%{_hal_licensedir}/%{name}-target-tw2/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-tw2%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-tw2%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-tw2%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-tw2%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf +%{_hal_datadir}/%{name}-target-tw2%{_hal_prefix}/lib/udev/rules.d/* + +%files target-rpi3 +%manifest %{name}-target-rpi3.manifest +%{_hal_licensedir}/%{name}-target-rpi3/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/inference/*.ini +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-rpi3%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-rpi3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-rpi3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-rpi3%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%files target-tw3 +%manifest %{name}-target-tw3.manifest +%{_hal_licensedir}/%{name}-target-tw3/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/inference/*.ini +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-tw3%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-tw3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-tw3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-tw3%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf +%{_hal_datadir}/%{name}-target-tw3%{_hal_prefix}/lib/udev/rules.d/* + +%files target-rpi3-spk +%manifest %{name}-target-rpi3-spk.manifest +%{_hal_licensedir}/%{name}-target-rpi3-spk/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_sysconfdir}/xdg/gstomx.conf +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-target-rpi3-spk%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%else + +%files simulator +%manifest %{name}-simulator.manifest +%{_hal_licensedir}/%{name}-simulator/* +%defattr(-,root,root,-) +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/asound.conf +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/pulse/* +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/murphy/* +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/profile.d/* +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/multimedia/*.ini +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/inference/*.ini +%{_hal_datadir}/%{name}-simulator%{_hal_sysconfdir}/multimedia/*.conf +%{_hal_datadir}/%{name}-simulator%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_hal_datadir}/%{name}-simulator%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common +%{_hal_datadir}/%{name}-simulator%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf + +%endif