Add build system for Android
authorBenjamin Gaignard <benjamin.gaignard@stericsson.com>
Fri, 3 Dec 2010 16:41:18 +0000 (17:41 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Fri, 3 Dec 2010 16:41:18 +0000 (17:41 +0100)
45 files changed:
Android.mk [new file with mode: 0644]
android/NOTICE [new file with mode: 0644]
android/alsa.mk [new file with mode: 0644]
android/app.mk [new file with mode: 0644]
android/app_plugin.mk [new file with mode: 0644]
android/audio.mk [new file with mode: 0644]
android/audioconvert.mk [new file with mode: 0644]
android/decodebin.mk [new file with mode: 0644]
android/decodebin2.mk [new file with mode: 0644]
android/gdp.mk [new file with mode: 0644]
android/gst-libs/gst/app/gstapp-marshal.c [new file with mode: 0644]
android/gst-libs/gst/app/gstapp-marshal.h [new file with mode: 0644]
android/gst-libs/gst/audio/audio-enumtypes.c [new file with mode: 0644]
android/gst-libs/gst/audio/audio-enumtypes.h [new file with mode: 0644]
android/gst-libs/gst/interfaces/interfaces-enumtypes.c [new file with mode: 0644]
android/gst-libs/gst/interfaces/interfaces-enumtypes.h [new file with mode: 0644]
android/gst-libs/gst/interfaces/interfaces-marshal.c [new file with mode: 0644]
android/gst-libs/gst/interfaces/interfaces-marshal.h [new file with mode: 0644]
android/gst-libs/gst/pbutils/pbutils-enumtypes.c [new file with mode: 0644]
android/gst-libs/gst/pbutils/pbutils-enumtypes.h [new file with mode: 0644]
android/gst-libs/gst/rtsp/gstrtsp-enumtypes.c [new file with mode: 0644]
android/gst-libs/gst/rtsp/gstrtsp-enumtypes.h [new file with mode: 0644]
android/gst-libs/gst/rtsp/gstrtsp-marshal.c [new file with mode: 0644]
android/gst-libs/gst/rtsp/gstrtsp-marshal.h [new file with mode: 0644]
android/gst-libs/gst/video/video-enumtypes.c [new file with mode: 0644]
android/gst-libs/gst/video/video-enumtypes.h [new file with mode: 0644]
android/gst/playback/gstplay-marshal.c [new file with mode: 0644]
android/gst/playback/gstplay-marshal.h [new file with mode: 0644]
android/gst/tcp/gsttcp-enumtypes.c [new file with mode: 0644]
android/gst/tcp/gsttcp-enumtypes.h [new file with mode: 0644]
android/gst/tcp/gsttcp-marshal.c [new file with mode: 0644]
android/gst/tcp/gsttcp-marshal.h [new file with mode: 0644]
android/interfaces.mk [new file with mode: 0644]
android/netbuffer.mk [new file with mode: 0644]
android/pbutils.mk [new file with mode: 0644]
android/playbin.mk [new file with mode: 0644]
android/queue2.mk [new file with mode: 0644]
android/riff.mk [new file with mode: 0644]
android/rtp.mk [new file with mode: 0644]
android/rtsp.mk [new file with mode: 0644]
android/sdp.mk [new file with mode: 0644]
android/tag.mk [new file with mode: 0644]
android/tcp.mk [new file with mode: 0644]
android/typefindfunctions.mk [new file with mode: 0644]
android/video.mk [new file with mode: 0644]

diff --git a/Android.mk b/Android.mk
new file mode 100644 (file)
index 0000000..17622da
--- /dev/null
@@ -0,0 +1,29 @@
+LOCAL_PATH := $(call my-dir)
+
+GSTREAMER_TOP := $(LOCAL_PATH)
+
+include $(CLEAR_VARS)
+
+include $(GSTREAMER_TOP)/android/tag.mk
+include $(GSTREAMER_TOP)/android/audio.mk
+include $(GSTREAMER_TOP)/android/video.mk
+include $(GSTREAMER_TOP)/android/riff.mk
+include $(GSTREAMER_TOP)/android/interfaces.mk
+include $(GSTREAMER_TOP)/android/pbutils.mk
+include $(GSTREAMER_TOP)/android/rtp.mk
+include $(GSTREAMER_TOP)/android/rtsp.mk
+include $(GSTREAMER_TOP)/android/netbuffer.mk
+include $(GSTREAMER_TOP)/android/sdp.mk
+include $(GSTREAMER_TOP)/android/app.mk
+#plugins
+include $(GSTREAMER_TOP)/android/alsa.mk
+include $(GSTREAMER_TOP)/android/decodebin.mk
+include $(GSTREAMER_TOP)/android/decodebin2.mk
+#include $(GSTREAMER_TOP)/android/queue2.mk
+include $(GSTREAMER_TOP)/android/playbin.mk
+include $(GSTREAMER_TOP)/android/typefindfunctions.mk
+include $(GSTREAMER_TOP)/android/app_plugin.mk
+include $(GSTREAMER_TOP)/android/gdp.mk
+include $(GSTREAMER_TOP)/android/tcp.mk
+include $(GSTREAMER_TOP)/android/audioconvert.mk
+
diff --git a/android/NOTICE b/android/NOTICE
new file mode 100644 (file)
index 0000000..eb685a5
--- /dev/null
@@ -0,0 +1,481 @@
+                 GNU LIBRARY GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+                    675 Mass Ave, Cambridge, MA 02139, 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 library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+                           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 Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, 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 or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the 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 a program 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.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+\f
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  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, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+\f
+                 GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+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.
+\f
+  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.
+\f
+  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.
+\f
+  6. As an exception to the Sections above, you may also compile 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) 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.
+
+    c) 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.
+
+    d) 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 source code 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.
+\f
+  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 to
+this License.
+\f
+  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 Library 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.
+\f
+  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
+\f
+     Appendix: 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.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 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
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 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.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/android/alsa.mk b/android/alsa.mk
new file mode 100644 (file)
index 0000000..3815a0e
--- /dev/null
@@ -0,0 +1,64 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+alsa_LOCAL_SRC_FILES:= \
+       ext/alsa/gstalsadeviceprobe.c \
+       ext/alsa/gstalsamixer.c \
+       ext/alsa/gstalsamixerelement.c \
+       ext/alsa/gstalsamixertrack.c \
+       ext/alsa/gstalsamixeroptions.c \
+       ext/alsa/gstalsaplugin.c \
+       ext/alsa/gstalsasink.c \
+       ext/alsa/gstalsasrc.c \
+       ext/alsa/gstalsa.c 
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(alsa_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+       libdl                   \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstinterfaces-0.10   \
+       libgstaudio-0.10
+
+LOCAL_MODULE:= libgstalsa
+
+LOCAL_WHOLE_STATIC_LIBRARIES := libasound
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../ext/alsa                  \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include                        \
+    external/alsa-lib/include      
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+
+$(TARGET_OUT)/lib/libgstalsa.so:
+
+ALL_PREBUILT += $(TARGET_OUT)/lib/libgstalsa.so
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/app.mk b/android/app.mk
new file mode 100644 (file)
index 0000000..8ce87f8
--- /dev/null
@@ -0,0 +1,59 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_app_COPY_HEADERS_TO := gstreamer-0.10/gst/app
+gst_app_COPY_HEADERS := \
+       ../gst-libs/gst/app/gstappbuffer.h \
+       ../gst-libs/gst/app/gstappsink.h \
+       ../gst-libs/gst/app/gstappsrc.h
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+app_LOCAL_SRC_FILES_BASE:= \
+       gst-libs/gst/app/gstappsrc.c \
+       gst-libs/gst/app/gstappbuffer.c \
+       gst-libs/gst/app/gstappsink.c 
+app_LOCAL_SRC_FILES_ANDROID:= \
+       gst-libs/gst/app/gstapp-marshal.c
+       
+LOCAL_SRC_FILES:= $(addprefix ../,$(app_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(app_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0 
+
+LOCAL_MODULE:= libgstapp-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/app   \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst-libs/gst/app          \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H         -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_app_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_app_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/app_plugin.mk b/android/app_plugin.mk
new file mode 100644 (file)
index 0000000..a4cfeb8
--- /dev/null
@@ -0,0 +1,47 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+app_plugin_LOCAL_SRC_FILES:= \
+       gst/app/gstapp.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(app_plugin_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstapp-0.10
+
+LOCAL_MODULE:= libgstapp
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/app                   \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H         -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/audio.mk b/android/audio.mk
new file mode 100644 (file)
index 0000000..7111b98
--- /dev/null
@@ -0,0 +1,82 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_audio_COPY_HEADERS_TO := gstreamer-0.10/gst/audio
+gst_audio_COPY_HEADERS_BASE := \
+       gst-libs/gst/audio/audio.h \
+       gst-libs/gst/audio/gstaudioclock.h \
+       gst-libs/gst/audio/gstaudiofilter.h \
+       gst-libs/gst/audio/gstaudiosink.h \
+       gst-libs/gst/audio/gstaudiosrc.h \
+       gst-libs/gst/audio/gstbaseaudiosink.h \
+       gst-libs/gst/audio/gstbaseaudiosrc.h \
+       gst-libs/gst/audio/gstringbuffer.h \
+       gst-libs/gst/audio/mixerutils.h \
+       gst-libs/gst/audio/multichannel.h
+
+gst_audio_COPY_HEADERS_ANDROID := \
+       gst-libs/gst/audio/audio-enumtypes.h 
+
+gst_audio_COPY_HEADERS := $(addprefix ../,$(gst_audio_COPY_HEADERS_BASE)) \
+                                         $(addprefix ../android/,$(gst_audio_COPY_HEADERS_ANDROID))
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+# TODO: mixerutils.c is removed, because it depends on gst-lib/gst/interface.
+# We need add it later
+audio_LOCAL_SRC_FILES_BASE:= \
+       gst-libs/gst/audio/audio.c \
+       gst-libs/gst/audio/gstaudioclock.c \
+       gst-libs/gst/audio/mixerutils.c \
+       gst-libs/gst/audio/multichannel.c \
+       gst-libs/gst/audio/gstaudiofilter.c \
+       gst-libs/gst/audio/gstaudiosink.c \
+       gst-libs/gst/audio/gstaudiosrc.c \
+       gst-libs/gst/audio/gstbaseaudiosink.c \
+       gst-libs/gst/audio/gstbaseaudiosrc.c \
+       gst-libs/gst/audio/gstringbuffer.c 
+audio_LOCAL_SRC_FILES_ANDROID:= \
+       gst-libs/gst/audio/audio-enumtypes.c
+        
+LOCAL_SRC_FILES:= $(addprefix ../,$(audio_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(audio_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstinterfaces-0.10
+
+LOCAL_MODULE:= libgstaudio-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/audio \
+    $(LOCAL_PATH)/../gst-libs           \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/gst-libs/gst/audio        \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_audio_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_audio_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/audioconvert.mk b/android/audioconvert.mk
new file mode 100644 (file)
index 0000000..5b69254
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+audioconvert_LOCAL_SRC_FILES:= \
+       gst/audioconvert/gstaudioconvert.c \
+       gst/audioconvert/audioconvert.c \
+       gst/audioconvert/gstchannelmix.c \
+       gst/audioconvert/gstaudioquantize.c \
+       gst/audioconvert/plugin.c 
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(audioconvert_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstaudio-0.10        \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+    libgstpbutils-0.10
+
+LOCAL_MODULE:= libgstaudioconvert
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/audioconvert   \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/gst-libs/gst/audio    \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H -DGSTREAMER_BUILT_FOR_ANDROID  
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/decodebin.mk b/android/decodebin.mk
new file mode 100644 (file)
index 0000000..b67f686
--- /dev/null
@@ -0,0 +1,51 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+decodebin_LOCAL_SRC_FILES_BASE:= \
+       gst/playback/gstdecodebin.c 
+decodebin_LOCAL_SRC_FILES_ANDROID:= \
+    gst/playback/gstplay-marshal.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(decodebin_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(decodebin_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstpbutils-0.10
+
+LOCAL_MODULE:= libgstdecodebin
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/playback              \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/playback              \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/decodebin2.mk b/android/decodebin2.mk
new file mode 100644 (file)
index 0000000..b44ce11
--- /dev/null
@@ -0,0 +1,54 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+decodebin2_LOCAL_SRC_FILES_BASE:= \
+       gst/playback/gstdecodebin2.c \
+    gst/playback/gsturidecodebin.c \
+       gst/playback/gstfactorylists.c \
+       gst/playback/gstplay-enum.c 
+decodebin2_LOCAL_SRC_FILES_ANDROID:= \
+       gst/playback/gstplay-marshal.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(decodebin2_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(decodebin2_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstpbutils-0.10
+
+LOCAL_MODULE:= libgstdecodebin2
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/playback              \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/playback              \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/gdp.mk b/android/gdp.mk
new file mode 100644 (file)
index 0000000..67fc649
--- /dev/null
@@ -0,0 +1,50 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+gdp_LOCAL_SRC_FILES:= \
+       gst/gdp/gstgdp.c \
+       gst/gdp/gstgdppay.c \
+       gst/gdp/gstgdpdepay.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(gdp_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstdataprotocol-0.10
+
+LOCAL_MODULE:= libgstgdp
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/gdp                   \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/tcp                           \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include 
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H  -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/gst-libs/gst/app/gstapp-marshal.c b/android/gst-libs/gst/app/gstapp-marshal.c
new file mode 100644 (file)
index 0000000..bb4047c
--- /dev/null
@@ -0,0 +1,152 @@
+#include "gstapp-marshal.h"
+
+#include       <glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* BOOLEAN:UINT64 (gstapp-marshal.list:1) */
+void
+__gst_app_marshal_BOOLEAN__UINT64 (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gboolean (*GMarshalFunc_BOOLEAN__UINT64) (gpointer data1,
+      guint64 arg_1, gpointer data2);
+  register GMarshalFunc_BOOLEAN__UINT64 callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gboolean v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 2);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOOLEAN__UINT64) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_uint64 (param_values + 1), data2);
+
+  g_value_set_boolean (return_value, v_return);
+}
+
+/* ENUM:OBJECT (gstapp-marshal.list:2) */
+void
+__gst_app_marshal_ENUM__OBJECT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gint (*GMarshalFunc_ENUM__OBJECT) (gpointer data1,
+      gpointer arg_1, gpointer data2);
+  register GMarshalFunc_ENUM__OBJECT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gint v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 2);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_ENUM__OBJECT) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1), data2);
+
+  g_value_set_enum (return_value, v_return);
+}
+
+/* ENUM:VOID (gstapp-marshal.list:3) */
+void
+__gst_app_marshal_ENUM__VOID (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gint (*GMarshalFunc_ENUM__VOID) (gpointer data1, gpointer data2);
+  register GMarshalFunc_ENUM__VOID callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gint v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 1);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_ENUM__VOID) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1, data2);
+
+  g_value_set_enum (return_value, v_return);
+}
+
+/* VOID:UINT (gstapp-marshal.list:4) */
diff --git a/android/gst-libs/gst/app/gstapp-marshal.h b/android/gst-libs/gst/app/gstapp-marshal.h
new file mode 100644 (file)
index 0000000..621b13d
--- /dev/null
@@ -0,0 +1,39 @@
+
+#ifndef ____gst_app_marshal_MARSHAL_H__
+#define ____gst_app_marshal_MARSHAL_H__
+
+#include       <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* BOOLEAN:UINT64 (gstapp-marshal.list:1) */
+extern void __gst_app_marshal_BOOLEAN__UINT64 (GClosure     *closure,
+                                               GValue       *return_value,
+                                               guint         n_param_values,
+                                               const GValue *param_values,
+                                               gpointer      invocation_hint,
+                                               gpointer      marshal_data);
+
+/* ENUM:OBJECT (gstapp-marshal.list:2) */
+extern void __gst_app_marshal_ENUM__OBJECT (GClosure     *closure,
+                                            GValue       *return_value,
+                                            guint         n_param_values,
+                                            const GValue *param_values,
+                                            gpointer      invocation_hint,
+                                            gpointer      marshal_data);
+
+/* ENUM:VOID (gstapp-marshal.list:3) */
+extern void __gst_app_marshal_ENUM__VOID (GClosure     *closure,
+                                          GValue       *return_value,
+                                          guint         n_param_values,
+                                          const GValue *param_values,
+                                          gpointer      invocation_hint,
+                                          gpointer      marshal_data);
+
+/* VOID:UINT (gstapp-marshal.list:4) */
+#define __gst_app_marshal_VOID__UINT   g_cclosure_marshal_VOID__UINT
+
+G_END_DECLS
+
+#endif /* ____gst_app_marshal_MARSHAL_H__ */
+
diff --git a/android/gst-libs/gst/audio/audio-enumtypes.c b/android/gst-libs/gst/audio/audio-enumtypes.c
new file mode 100644 (file)
index 0000000..b87241d
--- /dev/null
@@ -0,0 +1,175 @@
+
+/* Generated data (by glib-mkenums) */
+
+#include "audio-enumtypes.h"
+
+#include "multichannel.h"
+#include "gstringbuffer.h"
+
+/* enumerations from "multichannel.h" */
+GType
+gst_audio_channel_position_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_AUDIO_CHANNEL_POSITION_INVALID, "GST_AUDIO_CHANNEL_POSITION_INVALID",
+          "invalid"},
+      {GST_AUDIO_CHANNEL_POSITION_FRONT_MONO,
+          "GST_AUDIO_CHANNEL_POSITION_FRONT_MONO", "front-mono"},
+      {GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          "GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT", "front-left"},
+      {GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          "GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT", "front-right"},
+      {GST_AUDIO_CHANNEL_POSITION_REAR_CENTER,
+          "GST_AUDIO_CHANNEL_POSITION_REAR_CENTER", "rear-center"},
+      {GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
+          "GST_AUDIO_CHANNEL_POSITION_REAR_LEFT", "rear-left"},
+      {GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
+          "GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT", "rear-right"},
+      {GST_AUDIO_CHANNEL_POSITION_LFE, "GST_AUDIO_CHANNEL_POSITION_LFE", "lfe"},
+      {GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          "GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER", "front-center"},
+      {GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER,
+            "GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER",
+          "front-left-of-center"},
+      {GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER,
+            "GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER",
+          "front-right-of-center"},
+      {GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+          "GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT", "side-left"},
+      {GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
+          "GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT", "side-right"},
+      {GST_AUDIO_CHANNEL_POSITION_NONE, "GST_AUDIO_CHANNEL_POSITION_NONE",
+          "none"},
+      {GST_AUDIO_CHANNEL_POSITION_NUM, "GST_AUDIO_CHANNEL_POSITION_NUM", "num"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstAudioChannelPosition", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "gstringbuffer.h" */
+GType
+gst_ring_buffer_state_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RING_BUFFER_STATE_STOPPED, "GST_RING_BUFFER_STATE_STOPPED",
+          "stopped"},
+      {GST_RING_BUFFER_STATE_PAUSED, "GST_RING_BUFFER_STATE_PAUSED", "paused"},
+      {GST_RING_BUFFER_STATE_STARTED, "GST_RING_BUFFER_STATE_STARTED",
+          "started"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstRingBufferState", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_ring_buffer_seg_state_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_SEGSTATE_INVALID, "GST_SEGSTATE_INVALID", "invalid"},
+      {GST_SEGSTATE_EMPTY, "GST_SEGSTATE_EMPTY", "empty"},
+      {GST_SEGSTATE_FILLED, "GST_SEGSTATE_FILLED", "filled"},
+      {GST_SEGSTATE_PARTIAL, "GST_SEGSTATE_PARTIAL", "partial"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstRingBufferSegState", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_buffer_format_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_BUFTYPE_LINEAR, "GST_BUFTYPE_LINEAR", "linear"},
+      {GST_BUFTYPE_FLOAT, "GST_BUFTYPE_FLOAT", "float"},
+      {GST_BUFTYPE_MU_LAW, "GST_BUFTYPE_MU_LAW", "mu-law"},
+      {GST_BUFTYPE_A_LAW, "GST_BUFTYPE_A_LAW", "a-law"},
+      {GST_BUFTYPE_IMA_ADPCM, "GST_BUFTYPE_IMA_ADPCM", "ima-adpcm"},
+      {GST_BUFTYPE_MPEG, "GST_BUFTYPE_MPEG", "mpeg"},
+      {GST_BUFTYPE_GSM, "GST_BUFTYPE_GSM", "gsm"},
+      {GST_BUFTYPE_IEC958, "GST_BUFTYPE_IEC958", "iec958"},
+      {GST_BUFTYPE_AC3, "GST_BUFTYPE_AC3", "ac3"},
+      {GST_BUFTYPE_EAC3, "GST_BUFTYPE_EAC3", "eac3"},
+      {GST_BUFTYPE_DTS, "GST_BUFTYPE_DTS", "dts"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstBufferFormatType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_buffer_format_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_UNKNOWN, "GST_UNKNOWN", "unknown"},
+      {GST_S8, "GST_S8", "s8"},
+      {GST_U8, "GST_U8", "u8"},
+      {GST_S16_LE, "GST_S16_LE", "s16-le"},
+      {GST_S16_BE, "GST_S16_BE", "s16-be"},
+      {GST_U16_LE, "GST_U16_LE", "u16-le"},
+      {GST_U16_BE, "GST_U16_BE", "u16-be"},
+      {GST_S24_LE, "GST_S24_LE", "s24-le"},
+      {GST_S24_BE, "GST_S24_BE", "s24-be"},
+      {GST_U24_LE, "GST_U24_LE", "u24-le"},
+      {GST_U24_BE, "GST_U24_BE", "u24-be"},
+      {GST_S32_LE, "GST_S32_LE", "s32-le"},
+      {GST_S32_BE, "GST_S32_BE", "s32-be"},
+      {GST_U32_LE, "GST_U32_LE", "u32-le"},
+      {GST_U32_BE, "GST_U32_BE", "u32-be"},
+      {GST_S24_3LE, "GST_S24_3LE", "s24-3le"},
+      {GST_S24_3BE, "GST_S24_3BE", "s24-3be"},
+      {GST_U24_3LE, "GST_U24_3LE", "u24-3le"},
+      {GST_U24_3BE, "GST_U24_3BE", "u24-3be"},
+      {GST_S20_3LE, "GST_S20_3LE", "s20-3le"},
+      {GST_S20_3BE, "GST_S20_3BE", "s20-3be"},
+      {GST_U20_3LE, "GST_U20_3LE", "u20-3le"},
+      {GST_U20_3BE, "GST_U20_3BE", "u20-3be"},
+      {GST_S18_3LE, "GST_S18_3LE", "s18-3le"},
+      {GST_S18_3BE, "GST_S18_3BE", "s18-3be"},
+      {GST_U18_3LE, "GST_U18_3LE", "u18-3le"},
+      {GST_U18_3BE, "GST_U18_3BE", "u18-3be"},
+      {GST_FLOAT32_LE, "GST_FLOAT32_LE", "float32-le"},
+      {GST_FLOAT32_BE, "GST_FLOAT32_BE", "float32-be"},
+      {GST_FLOAT64_LE, "GST_FLOAT64_LE", "float64-le"},
+      {GST_FLOAT64_BE, "GST_FLOAT64_BE", "float64-be"},
+      {GST_MU_LAW, "GST_MU_LAW", "mu-law"},
+      {GST_A_LAW, "GST_A_LAW", "a-law"},
+      {GST_IMA_ADPCM, "GST_IMA_ADPCM", "ima-adpcm"},
+      {GST_MPEG, "GST_MPEG", "mpeg"},
+      {GST_GSM, "GST_GSM", "gsm"},
+      {GST_IEC958, "GST_IEC958", "iec958"},
+      {GST_AC3, "GST_AC3", "ac3"},
+      {GST_EAC3, "GST_EAC3", "eac3"},
+      {GST_DTS, "GST_DTS", "dts"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstBufferFormat", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* Generated data ends here */
diff --git a/android/gst-libs/gst/audio/audio-enumtypes.h b/android/gst-libs/gst/audio/audio-enumtypes.h
new file mode 100644 (file)
index 0000000..b3d1558
--- /dev/null
@@ -0,0 +1,29 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __GST_AUDIO_ENUM_TYPES_H__
+#define __GST_AUDIO_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "multichannel.h" */
+GType gst_audio_channel_position_get_type (void);
+#define GST_TYPE_AUDIO_CHANNEL_POSITION (gst_audio_channel_position_get_type())
+
+/* enumerations from "gstringbuffer.h" */
+GType gst_ring_buffer_state_get_type (void);
+#define GST_TYPE_RING_BUFFER_STATE (gst_ring_buffer_state_get_type())
+GType gst_ring_buffer_seg_state_get_type (void);
+#define GST_TYPE_RING_BUFFER_SEG_STATE (gst_ring_buffer_seg_state_get_type())
+GType gst_buffer_format_type_get_type (void);
+#define GST_TYPE_BUFFER_FORMAT_TYPE (gst_buffer_format_type_get_type())
+GType gst_buffer_format_get_type (void);
+#define GST_TYPE_BUFFER_FORMAT (gst_buffer_format_get_type())
+G_END_DECLS
+
+#endif /* __GST_AUDIO_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff --git a/android/gst-libs/gst/interfaces/interfaces-enumtypes.c b/android/gst-libs/gst/interfaces/interfaces-enumtypes.c
new file mode 100644 (file)
index 0000000..3213b81
--- /dev/null
@@ -0,0 +1,276 @@
+
+/* Generated data (by glib-mkenums) */
+
+#include "interfaces-enumtypes.h"
+
+#include "colorbalance.h"
+#include "colorbalancechannel.h"
+#include "mixer.h"
+#include "mixeroptions.h"
+#include "mixertrack.h"
+#include "navigation.h"
+#include "propertyprobe.h"
+#include "streamvolume.h"
+#include "tuner.h"
+#include "tunernorm.h"
+#include "tunerchannel.h"
+#include "videoorientation.h"
+#include "xoverlay.h"
+
+/* enumerations from "colorbalance.h" */
+GType
+gst_color_balance_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_COLOR_BALANCE_HARDWARE, "GST_COLOR_BALANCE_HARDWARE", "hardware"},
+      {GST_COLOR_BALANCE_SOFTWARE, "GST_COLOR_BALANCE_SOFTWARE", "software"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstColorBalanceType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "mixer.h" */
+GType
+gst_mixer_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_MIXER_HARDWARE, "GST_MIXER_HARDWARE", "hardware"},
+      {GST_MIXER_SOFTWARE, "GST_MIXER_SOFTWARE", "software"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstMixerType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_mixer_message_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_MIXER_MESSAGE_INVALID, "GST_MIXER_MESSAGE_INVALID", "invalid"},
+      {GST_MIXER_MESSAGE_MUTE_TOGGLED, "GST_MIXER_MESSAGE_MUTE_TOGGLED",
+          "mute-toggled"},
+      {GST_MIXER_MESSAGE_RECORD_TOGGLED, "GST_MIXER_MESSAGE_RECORD_TOGGLED",
+          "record-toggled"},
+      {GST_MIXER_MESSAGE_VOLUME_CHANGED, "GST_MIXER_MESSAGE_VOLUME_CHANGED",
+          "volume-changed"},
+      {GST_MIXER_MESSAGE_OPTION_CHANGED, "GST_MIXER_MESSAGE_OPTION_CHANGED",
+          "option-changed"},
+      {GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED,
+          "GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED", "options-list-changed"},
+      {GST_MIXER_MESSAGE_MIXER_CHANGED, "GST_MIXER_MESSAGE_MIXER_CHANGED",
+          "mixer-changed"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstMixerMessageType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_mixer_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_MIXER_FLAG_NONE, "GST_MIXER_FLAG_NONE", "none"},
+      {GST_MIXER_FLAG_AUTO_NOTIFICATIONS, "GST_MIXER_FLAG_AUTO_NOTIFICATIONS",
+          "auto-notifications"},
+      {GST_MIXER_FLAG_HAS_WHITELIST, "GST_MIXER_FLAG_HAS_WHITELIST",
+          "has-whitelist"},
+      {GST_MIXER_FLAG_GROUPING, "GST_MIXER_FLAG_GROUPING", "grouping"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_flags_register_static ("GstMixerFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "mixertrack.h" */
+GType
+gst_mixer_track_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_MIXER_TRACK_INPUT, "GST_MIXER_TRACK_INPUT", "input"},
+      {GST_MIXER_TRACK_OUTPUT, "GST_MIXER_TRACK_OUTPUT", "output"},
+      {GST_MIXER_TRACK_MUTE, "GST_MIXER_TRACK_MUTE", "mute"},
+      {GST_MIXER_TRACK_RECORD, "GST_MIXER_TRACK_RECORD", "record"},
+      {GST_MIXER_TRACK_MASTER, "GST_MIXER_TRACK_MASTER", "master"},
+      {GST_MIXER_TRACK_SOFTWARE, "GST_MIXER_TRACK_SOFTWARE", "software"},
+      {GST_MIXER_TRACK_NO_RECORD, "GST_MIXER_TRACK_NO_RECORD", "no-record"},
+      {GST_MIXER_TRACK_NO_MUTE, "GST_MIXER_TRACK_NO_MUTE", "no-mute"},
+      {GST_MIXER_TRACK_WHITELIST, "GST_MIXER_TRACK_WHITELIST", "whitelist"},
+      {GST_MIXER_TRACK_READONLY, "GST_MIXER_TRACK_READONLY", "readonly"},
+      {GST_MIXER_TRACK_WRITEONLY, "GST_MIXER_TRACK_WRITEONLY", "writeonly"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstMixerTrackFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "navigation.h" */
+GType
+gst_navigation_command_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_NAVIGATION_COMMAND_INVALID, "GST_NAVIGATION_COMMAND_INVALID",
+          "invalid"},
+      {GST_NAVIGATION_COMMAND_MENU1, "GST_NAVIGATION_COMMAND_MENU1", "menu1"},
+      {GST_NAVIGATION_COMMAND_MENU2, "GST_NAVIGATION_COMMAND_MENU2", "menu2"},
+      {GST_NAVIGATION_COMMAND_MENU3, "GST_NAVIGATION_COMMAND_MENU3", "menu3"},
+      {GST_NAVIGATION_COMMAND_MENU4, "GST_NAVIGATION_COMMAND_MENU4", "menu4"},
+      {GST_NAVIGATION_COMMAND_MENU5, "GST_NAVIGATION_COMMAND_MENU5", "menu5"},
+      {GST_NAVIGATION_COMMAND_MENU6, "GST_NAVIGATION_COMMAND_MENU6", "menu6"},
+      {GST_NAVIGATION_COMMAND_MENU7, "GST_NAVIGATION_COMMAND_MENU7", "menu7"},
+      {GST_NAVIGATION_COMMAND_LEFT, "GST_NAVIGATION_COMMAND_LEFT", "left"},
+      {GST_NAVIGATION_COMMAND_RIGHT, "GST_NAVIGATION_COMMAND_RIGHT", "right"},
+      {GST_NAVIGATION_COMMAND_UP, "GST_NAVIGATION_COMMAND_UP", "up"},
+      {GST_NAVIGATION_COMMAND_DOWN, "GST_NAVIGATION_COMMAND_DOWN", "down"},
+      {GST_NAVIGATION_COMMAND_ACTIVATE, "GST_NAVIGATION_COMMAND_ACTIVATE",
+          "activate"},
+      {GST_NAVIGATION_COMMAND_PREV_ANGLE, "GST_NAVIGATION_COMMAND_PREV_ANGLE",
+          "prev-angle"},
+      {GST_NAVIGATION_COMMAND_NEXT_ANGLE, "GST_NAVIGATION_COMMAND_NEXT_ANGLE",
+          "next-angle"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstNavigationCommand", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_navigation_query_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_NAVIGATION_QUERY_INVALID, "GST_NAVIGATION_QUERY_INVALID", "invalid"},
+      {GST_NAVIGATION_QUERY_COMMANDS, "GST_NAVIGATION_QUERY_COMMANDS",
+          "commands"},
+      {GST_NAVIGATION_QUERY_ANGLES, "GST_NAVIGATION_QUERY_ANGLES", "angles"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstNavigationQueryType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_navigation_message_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_NAVIGATION_MESSAGE_INVALID, "GST_NAVIGATION_MESSAGE_INVALID",
+          "invalid"},
+      {GST_NAVIGATION_MESSAGE_MOUSE_OVER, "GST_NAVIGATION_MESSAGE_MOUSE_OVER",
+          "mouse-over"},
+      {GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED,
+          "GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED", "commands-changed"},
+      {GST_NAVIGATION_MESSAGE_ANGLES_CHANGED,
+          "GST_NAVIGATION_MESSAGE_ANGLES_CHANGED", "angles-changed"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstNavigationMessageType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_navigation_event_type_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_NAVIGATION_EVENT_INVALID, "GST_NAVIGATION_EVENT_INVALID", "invalid"},
+      {GST_NAVIGATION_EVENT_KEY_PRESS, "GST_NAVIGATION_EVENT_KEY_PRESS",
+          "key-press"},
+      {GST_NAVIGATION_EVENT_KEY_RELEASE, "GST_NAVIGATION_EVENT_KEY_RELEASE",
+          "key-release"},
+      {GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS,
+          "GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS", "mouse-button-press"},
+      {GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE,
+            "GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE",
+          "mouse-button-release"},
+      {GST_NAVIGATION_EVENT_MOUSE_MOVE, "GST_NAVIGATION_EVENT_MOUSE_MOVE",
+          "mouse-move"},
+      {GST_NAVIGATION_EVENT_COMMAND, "GST_NAVIGATION_EVENT_COMMAND", "command"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstNavigationEventType", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "streamvolume.h" */
+GType
+gst_stream_volume_format_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_STREAM_VOLUME_FORMAT_LINEAR, "GST_STREAM_VOLUME_FORMAT_LINEAR",
+          "linear"},
+      {GST_STREAM_VOLUME_FORMAT_CUBIC, "GST_STREAM_VOLUME_FORMAT_CUBIC",
+          "cubic"},
+      {GST_STREAM_VOLUME_FORMAT_DB, "GST_STREAM_VOLUME_FORMAT_DB", "db"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstStreamVolumeFormat", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "tunerchannel.h" */
+GType
+gst_tuner_channel_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_TUNER_CHANNEL_INPUT, "GST_TUNER_CHANNEL_INPUT", "input"},
+      {GST_TUNER_CHANNEL_OUTPUT, "GST_TUNER_CHANNEL_OUTPUT", "output"},
+      {GST_TUNER_CHANNEL_FREQUENCY, "GST_TUNER_CHANNEL_FREQUENCY", "frequency"},
+      {GST_TUNER_CHANNEL_AUDIO, "GST_TUNER_CHANNEL_AUDIO", "audio"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstTunerChannelFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* Generated data ends here */
diff --git a/android/gst-libs/gst/interfaces/interfaces-enumtypes.h b/android/gst-libs/gst/interfaces/interfaces-enumtypes.h
new file mode 100644 (file)
index 0000000..3c6960f
--- /dev/null
@@ -0,0 +1,49 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __GST_INTERFACES_ENUM_TYPES_H__
+#define __GST_INTERFACES_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "colorbalance.h" */
+GType gst_color_balance_type_get_type (void);
+#define GST_TYPE_COLOR_BALANCE_TYPE (gst_color_balance_type_get_type())
+
+/* enumerations from "mixer.h" */
+GType gst_mixer_type_get_type (void);
+#define GST_TYPE_MIXER_TYPE (gst_mixer_type_get_type())
+GType gst_mixer_message_type_get_type (void);
+#define GST_TYPE_MIXER_MESSAGE_TYPE (gst_mixer_message_type_get_type())
+GType gst_mixer_flags_get_type (void);
+#define GST_TYPE_MIXER_FLAGS (gst_mixer_flags_get_type())
+
+/* enumerations from "mixertrack.h" */
+GType gst_mixer_track_flags_get_type (void);
+#define GST_TYPE_MIXER_TRACK_FLAGS (gst_mixer_track_flags_get_type())
+
+/* enumerations from "navigation.h" */
+GType gst_navigation_command_get_type (void);
+#define GST_TYPE_NAVIGATION_COMMAND (gst_navigation_command_get_type())
+GType gst_navigation_query_type_get_type (void);
+#define GST_TYPE_NAVIGATION_QUERY_TYPE (gst_navigation_query_type_get_type())
+GType gst_navigation_message_type_get_type (void);
+#define GST_TYPE_NAVIGATION_MESSAGE_TYPE (gst_navigation_message_type_get_type())
+GType gst_navigation_event_type_get_type (void);
+#define GST_TYPE_NAVIGATION_EVENT_TYPE (gst_navigation_event_type_get_type())
+
+/* enumerations from "streamvolume.h" */
+GType gst_stream_volume_format_get_type (void);
+#define GST_TYPE_STREAM_VOLUME_FORMAT (gst_stream_volume_format_get_type())
+
+/* enumerations from "tunerchannel.h" */
+GType gst_tuner_channel_flags_get_type (void);
+#define GST_TYPE_TUNER_CHANNEL_FLAGS (gst_tuner_channel_flags_get_type())
+G_END_DECLS
+
+#endif /* __GST_INTERFACES_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff --git a/android/gst-libs/gst/interfaces/interfaces-marshal.c b/android/gst-libs/gst/interfaces/interfaces-marshal.c
new file mode 100644 (file)
index 0000000..10ea009
--- /dev/null
@@ -0,0 +1,209 @@
+#include "interfaces-marshal.h"
+
+#include       <glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* VOID:OBJECT,BOOLEAN (interfaces-marshal.list:1) */
+void
+gst_interfaces_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer data1,
+      gpointer arg_1, gboolean arg_2, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_BOOLEAN callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_boolean (param_values + 2), data2);
+}
+
+/* VOID:OBJECT,POINTER (interfaces-marshal.list:2) */
+void
+gst_interfaces_marshal_VOID__OBJECT_POINTER (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_POINTER) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_POINTER callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_POINTER) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_pointer (param_values + 2), data2);
+}
+
+/* VOID:OBJECT,STRING (interfaces-marshal.list:3) */
+void
+gst_interfaces_marshal_VOID__OBJECT_STRING (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_STRING) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_STRING callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_STRING) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_string (param_values + 2), data2);
+}
+
+/* VOID:OBJECT,ULONG (interfaces-marshal.list:4) */
+void
+gst_interfaces_marshal_VOID__OBJECT_ULONG (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_ULONG) (gpointer data1,
+      gpointer arg_1, gulong arg_2, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_ULONG callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_ULONG) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_ulong (param_values + 2), data2);
+}
+
+/* VOID:OBJECT,INT (interfaces-marshal.list:5) */
+void
+gst_interfaces_marshal_VOID__OBJECT_INT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_INT) (gpointer data1,
+      gpointer arg_1, gint arg_2, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_INT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_INT) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_int (param_values + 2), data2);
+}
diff --git a/android/gst-libs/gst/interfaces/interfaces-marshal.h b/android/gst-libs/gst/interfaces/interfaces-marshal.h
new file mode 100644 (file)
index 0000000..2c8014e
--- /dev/null
@@ -0,0 +1,52 @@
+
+#ifndef __gst_interfaces_marshal_MARSHAL_H__
+#define __gst_interfaces_marshal_MARSHAL_H__
+
+#include       <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* VOID:OBJECT,BOOLEAN (interfaces-marshal.list:1) */
+extern void gst_interfaces_marshal_VOID__OBJECT_BOOLEAN (GClosure     *closure,
+                                                         GValue       *return_value,
+                                                         guint         n_param_values,
+                                                         const GValue *param_values,
+                                                         gpointer      invocation_hint,
+                                                         gpointer      marshal_data);
+
+/* VOID:OBJECT,POINTER (interfaces-marshal.list:2) */
+extern void gst_interfaces_marshal_VOID__OBJECT_POINTER (GClosure     *closure,
+                                                         GValue       *return_value,
+                                                         guint         n_param_values,
+                                                         const GValue *param_values,
+                                                         gpointer      invocation_hint,
+                                                         gpointer      marshal_data);
+
+/* VOID:OBJECT,STRING (interfaces-marshal.list:3) */
+extern void gst_interfaces_marshal_VOID__OBJECT_STRING (GClosure     *closure,
+                                                        GValue       *return_value,
+                                                        guint         n_param_values,
+                                                        const GValue *param_values,
+                                                        gpointer      invocation_hint,
+                                                        gpointer      marshal_data);
+
+/* VOID:OBJECT,ULONG (interfaces-marshal.list:4) */
+extern void gst_interfaces_marshal_VOID__OBJECT_ULONG (GClosure     *closure,
+                                                       GValue       *return_value,
+                                                       guint         n_param_values,
+                                                       const GValue *param_values,
+                                                       gpointer      invocation_hint,
+                                                       gpointer      marshal_data);
+
+/* VOID:OBJECT,INT (interfaces-marshal.list:5) */
+extern void gst_interfaces_marshal_VOID__OBJECT_INT (GClosure     *closure,
+                                                     GValue       *return_value,
+                                                     guint         n_param_values,
+                                                     const GValue *param_values,
+                                                     gpointer      invocation_hint,
+                                                     gpointer      marshal_data);
+
+G_END_DECLS
+
+#endif /* __gst_interfaces_marshal_MARSHAL_H__ */
+
diff --git a/android/gst-libs/gst/pbutils/pbutils-enumtypes.c b/android/gst-libs/gst/pbutils/pbutils-enumtypes.c
new file mode 100644 (file)
index 0000000..18ae03d
--- /dev/null
@@ -0,0 +1,45 @@
+
+/* Generated data (by glib-mkenums) */
+
+#include "pbutils-enumtypes.h"
+
+#include "pbutils.h"
+#include "descriptions.h"
+#include "install-plugins.h"
+#include "missing-plugins.h"
+
+/* enumerations from "install-plugins.h" */
+GType
+gst_install_plugins_return_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_INSTALL_PLUGINS_SUCCESS, "GST_INSTALL_PLUGINS_SUCCESS", "success"},
+      {GST_INSTALL_PLUGINS_NOT_FOUND, "GST_INSTALL_PLUGINS_NOT_FOUND",
+          "not-found"},
+      {GST_INSTALL_PLUGINS_ERROR, "GST_INSTALL_PLUGINS_ERROR", "error"},
+      {GST_INSTALL_PLUGINS_PARTIAL_SUCCESS,
+          "GST_INSTALL_PLUGINS_PARTIAL_SUCCESS", "partial-success"},
+      {GST_INSTALL_PLUGINS_USER_ABORT, "GST_INSTALL_PLUGINS_USER_ABORT",
+          "user-abort"},
+      {GST_INSTALL_PLUGINS_CRASHED, "GST_INSTALL_PLUGINS_CRASHED", "crashed"},
+      {GST_INSTALL_PLUGINS_INVALID, "GST_INSTALL_PLUGINS_INVALID", "invalid"},
+      {GST_INSTALL_PLUGINS_STARTED_OK, "GST_INSTALL_PLUGINS_STARTED_OK",
+          "started-ok"},
+      {GST_INSTALL_PLUGINS_INTERNAL_FAILURE,
+          "GST_INSTALL_PLUGINS_INTERNAL_FAILURE", "internal-failure"},
+      {GST_INSTALL_PLUGINS_HELPER_MISSING, "GST_INSTALL_PLUGINS_HELPER_MISSING",
+          "helper-missing"},
+      {GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS,
+          "GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS", "install-in-progress"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstInstallPluginsReturn", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* Generated data ends here */
diff --git a/android/gst-libs/gst/pbutils/pbutils-enumtypes.h b/android/gst-libs/gst/pbutils/pbutils-enumtypes.h
new file mode 100644 (file)
index 0000000..1b2398a
--- /dev/null
@@ -0,0 +1,19 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __GST_INSTALL_ENUM_TYPES_H__
+#define __GST_INSTALL_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "install-plugins.h" */
+GType gst_install_plugins_return_get_type (void);
+#define GST_TYPE_INSTALL_PLUGINS_RETURN (gst_install_plugins_return_get_type())
+G_END_DECLS
+
+#endif /* __GST_INSTALL_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff --git a/android/gst-libs/gst/rtsp/gstrtsp-enumtypes.c b/android/gst-libs/gst/rtsp/gstrtsp-enumtypes.c
new file mode 100644 (file)
index 0000000..8e47a45
--- /dev/null
@@ -0,0 +1,391 @@
+
+/* Generated data (by glib-mkenums) */
+
+#include "gstrtsp-enumtypes.h"
+
+#include "gstrtspdefs.h"
+
+/* enumerations from "gstrtspdefs.h" */
+GType
+gst_rtsp_result_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_OK, "GST_RTSP_OK", "ok"},
+      {GST_RTSP_ERROR, "GST_RTSP_ERROR", "error"},
+      {GST_RTSP_EINVAL, "GST_RTSP_EINVAL", "einval"},
+      {GST_RTSP_EINTR, "GST_RTSP_EINTR", "eintr"},
+      {GST_RTSP_ENOMEM, "GST_RTSP_ENOMEM", "enomem"},
+      {GST_RTSP_ERESOLV, "GST_RTSP_ERESOLV", "eresolv"},
+      {GST_RTSP_ENOTIMPL, "GST_RTSP_ENOTIMPL", "enotimpl"},
+      {GST_RTSP_ESYS, "GST_RTSP_ESYS", "esys"},
+      {GST_RTSP_EPARSE, "GST_RTSP_EPARSE", "eparse"},
+      {GST_RTSP_EWSASTART, "GST_RTSP_EWSASTART", "ewsastart"},
+      {GST_RTSP_EWSAVERSION, "GST_RTSP_EWSAVERSION", "ewsaversion"},
+      {GST_RTSP_EEOF, "GST_RTSP_EEOF", "eeof"},
+      {GST_RTSP_ENET, "GST_RTSP_ENET", "enet"},
+      {GST_RTSP_ENOTIP, "GST_RTSP_ENOTIP", "enotip"},
+      {GST_RTSP_ETIMEOUT, "GST_RTSP_ETIMEOUT", "etimeout"},
+      {GST_RTSP_ETGET, "GST_RTSP_ETGET", "etget"},
+      {GST_RTSP_ETPOST, "GST_RTSP_ETPOST", "etpost"},
+      {GST_RTSP_ELAST, "GST_RTSP_ELAST", "elast"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstRTSPResult", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_event_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_RTSP_EV_READ, "GST_RTSP_EV_READ", "read"},
+      {GST_RTSP_EV_WRITE, "GST_RTSP_EV_WRITE", "write"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_flags_register_static ("GstRTSPEvent", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_family_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_FAM_NONE, "GST_RTSP_FAM_NONE", "none"},
+      {GST_RTSP_FAM_INET, "GST_RTSP_FAM_INET", "inet"},
+      {GST_RTSP_FAM_INET6, "GST_RTSP_FAM_INET6", "inet6"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstRTSPFamily", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_state_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_STATE_INVALID, "GST_RTSP_STATE_INVALID", "invalid"},
+      {GST_RTSP_STATE_INIT, "GST_RTSP_STATE_INIT", "init"},
+      {GST_RTSP_STATE_READY, "GST_RTSP_STATE_READY", "ready"},
+      {GST_RTSP_STATE_SEEKING, "GST_RTSP_STATE_SEEKING", "seeking"},
+      {GST_RTSP_STATE_PLAYING, "GST_RTSP_STATE_PLAYING", "playing"},
+      {GST_RTSP_STATE_RECORDING, "GST_RTSP_STATE_RECORDING", "recording"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstRTSPState", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_version_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_VERSION_INVALID, "GST_RTSP_VERSION_INVALID", "invalid"},
+      {GST_RTSP_VERSION_1_0, "GST_RTSP_VERSION_1_0", "1-0"},
+      {GST_RTSP_VERSION_1_1, "GST_RTSP_VERSION_1_1", "1-1"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstRTSPVersion", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_method_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_RTSP_INVALID, "GST_RTSP_INVALID", "invalid"},
+      {GST_RTSP_DESCRIBE, "GST_RTSP_DESCRIBE", "describe"},
+      {GST_RTSP_ANNOUNCE, "GST_RTSP_ANNOUNCE", "announce"},
+      {GST_RTSP_GET_PARAMETER, "GST_RTSP_GET_PARAMETER", "get-parameter"},
+      {GST_RTSP_OPTIONS, "GST_RTSP_OPTIONS", "options"},
+      {GST_RTSP_PAUSE, "GST_RTSP_PAUSE", "pause"},
+      {GST_RTSP_PLAY, "GST_RTSP_PLAY", "play"},
+      {GST_RTSP_RECORD, "GST_RTSP_RECORD", "record"},
+      {GST_RTSP_REDIRECT, "GST_RTSP_REDIRECT", "redirect"},
+      {GST_RTSP_SETUP, "GST_RTSP_SETUP", "setup"},
+      {GST_RTSP_SET_PARAMETER, "GST_RTSP_SET_PARAMETER", "set-parameter"},
+      {GST_RTSP_TEARDOWN, "GST_RTSP_TEARDOWN", "teardown"},
+      {GST_RTSP_GET, "GST_RTSP_GET", "get"},
+      {GST_RTSP_POST, "GST_RTSP_POST", "post"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_flags_register_static ("GstRTSPMethod", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_auth_method_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_AUTH_NONE, "GST_RTSP_AUTH_NONE", "none"},
+      {GST_RTSP_AUTH_BASIC, "GST_RTSP_AUTH_BASIC", "basic"},
+      {GST_RTSP_AUTH_DIGEST, "GST_RTSP_AUTH_DIGEST", "digest"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstRTSPAuthMethod", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_header_field_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_HDR_INVALID, "GST_RTSP_HDR_INVALID", "invalid"},
+      {GST_RTSP_HDR_ACCEPT, "GST_RTSP_HDR_ACCEPT", "accept"},
+      {GST_RTSP_HDR_ACCEPT_ENCODING, "GST_RTSP_HDR_ACCEPT_ENCODING",
+          "accept-encoding"},
+      {GST_RTSP_HDR_ACCEPT_LANGUAGE, "GST_RTSP_HDR_ACCEPT_LANGUAGE",
+          "accept-language"},
+      {GST_RTSP_HDR_ALLOW, "GST_RTSP_HDR_ALLOW", "allow"},
+      {GST_RTSP_HDR_AUTHORIZATION, "GST_RTSP_HDR_AUTHORIZATION",
+          "authorization"},
+      {GST_RTSP_HDR_BANDWIDTH, "GST_RTSP_HDR_BANDWIDTH", "bandwidth"},
+      {GST_RTSP_HDR_BLOCKSIZE, "GST_RTSP_HDR_BLOCKSIZE", "blocksize"},
+      {GST_RTSP_HDR_CACHE_CONTROL, "GST_RTSP_HDR_CACHE_CONTROL",
+          "cache-control"},
+      {GST_RTSP_HDR_CONFERENCE, "GST_RTSP_HDR_CONFERENCE", "conference"},
+      {GST_RTSP_HDR_CONNECTION, "GST_RTSP_HDR_CONNECTION", "connection"},
+      {GST_RTSP_HDR_CONTENT_BASE, "GST_RTSP_HDR_CONTENT_BASE", "content-base"},
+      {GST_RTSP_HDR_CONTENT_ENCODING, "GST_RTSP_HDR_CONTENT_ENCODING",
+          "content-encoding"},
+      {GST_RTSP_HDR_CONTENT_LANGUAGE, "GST_RTSP_HDR_CONTENT_LANGUAGE",
+          "content-language"},
+      {GST_RTSP_HDR_CONTENT_LENGTH, "GST_RTSP_HDR_CONTENT_LENGTH",
+          "content-length"},
+      {GST_RTSP_HDR_CONTENT_LOCATION, "GST_RTSP_HDR_CONTENT_LOCATION",
+          "content-location"},
+      {GST_RTSP_HDR_CONTENT_TYPE, "GST_RTSP_HDR_CONTENT_TYPE", "content-type"},
+      {GST_RTSP_HDR_CSEQ, "GST_RTSP_HDR_CSEQ", "cseq"},
+      {GST_RTSP_HDR_DATE, "GST_RTSP_HDR_DATE", "date"},
+      {GST_RTSP_HDR_EXPIRES, "GST_RTSP_HDR_EXPIRES", "expires"},
+      {GST_RTSP_HDR_FROM, "GST_RTSP_HDR_FROM", "from"},
+      {GST_RTSP_HDR_IF_MODIFIED_SINCE, "GST_RTSP_HDR_IF_MODIFIED_SINCE",
+          "if-modified-since"},
+      {GST_RTSP_HDR_LAST_MODIFIED, "GST_RTSP_HDR_LAST_MODIFIED",
+          "last-modified"},
+      {GST_RTSP_HDR_PROXY_AUTHENTICATE, "GST_RTSP_HDR_PROXY_AUTHENTICATE",
+          "proxy-authenticate"},
+      {GST_RTSP_HDR_PROXY_REQUIRE, "GST_RTSP_HDR_PROXY_REQUIRE",
+          "proxy-require"},
+      {GST_RTSP_HDR_PUBLIC, "GST_RTSP_HDR_PUBLIC", "public"},
+      {GST_RTSP_HDR_RANGE, "GST_RTSP_HDR_RANGE", "range"},
+      {GST_RTSP_HDR_REFERER, "GST_RTSP_HDR_REFERER", "referer"},
+      {GST_RTSP_HDR_REQUIRE, "GST_RTSP_HDR_REQUIRE", "require"},
+      {GST_RTSP_HDR_RETRY_AFTER, "GST_RTSP_HDR_RETRY_AFTER", "retry-after"},
+      {GST_RTSP_HDR_RTP_INFO, "GST_RTSP_HDR_RTP_INFO", "rtp-info"},
+      {GST_RTSP_HDR_SCALE, "GST_RTSP_HDR_SCALE", "scale"},
+      {GST_RTSP_HDR_SESSION, "GST_RTSP_HDR_SESSION", "session"},
+      {GST_RTSP_HDR_SERVER, "GST_RTSP_HDR_SERVER", "server"},
+      {GST_RTSP_HDR_SPEED, "GST_RTSP_HDR_SPEED", "speed"},
+      {GST_RTSP_HDR_TRANSPORT, "GST_RTSP_HDR_TRANSPORT", "transport"},
+      {GST_RTSP_HDR_UNSUPPORTED, "GST_RTSP_HDR_UNSUPPORTED", "unsupported"},
+      {GST_RTSP_HDR_USER_AGENT, "GST_RTSP_HDR_USER_AGENT", "user-agent"},
+      {GST_RTSP_HDR_VIA, "GST_RTSP_HDR_VIA", "via"},
+      {GST_RTSP_HDR_WWW_AUTHENTICATE, "GST_RTSP_HDR_WWW_AUTHENTICATE",
+          "www-authenticate"},
+      {GST_RTSP_HDR_CLIENT_CHALLENGE, "GST_RTSP_HDR_CLIENT_CHALLENGE",
+          "client-challenge"},
+      {GST_RTSP_HDR_REAL_CHALLENGE1, "GST_RTSP_HDR_REAL_CHALLENGE1",
+          "real-challenge1"},
+      {GST_RTSP_HDR_REAL_CHALLENGE2, "GST_RTSP_HDR_REAL_CHALLENGE2",
+          "real-challenge2"},
+      {GST_RTSP_HDR_REAL_CHALLENGE3, "GST_RTSP_HDR_REAL_CHALLENGE3",
+          "real-challenge3"},
+      {GST_RTSP_HDR_SUBSCRIBE, "GST_RTSP_HDR_SUBSCRIBE", "subscribe"},
+      {GST_RTSP_HDR_ALERT, "GST_RTSP_HDR_ALERT", "alert"},
+      {GST_RTSP_HDR_CLIENT_ID, "GST_RTSP_HDR_CLIENT_ID", "client-id"},
+      {GST_RTSP_HDR_COMPANY_ID, "GST_RTSP_HDR_COMPANY_ID", "company-id"},
+      {GST_RTSP_HDR_GUID, "GST_RTSP_HDR_GUID", "guid"},
+      {GST_RTSP_HDR_REGION_DATA, "GST_RTSP_HDR_REGION_DATA", "region-data"},
+      {GST_RTSP_HDR_MAX_ASM_WIDTH, "GST_RTSP_HDR_MAX_ASM_WIDTH",
+          "max-asm-width"},
+      {GST_RTSP_HDR_LANGUAGE, "GST_RTSP_HDR_LANGUAGE", "language"},
+      {GST_RTSP_HDR_PLAYER_START_TIME, "GST_RTSP_HDR_PLAYER_START_TIME",
+          "player-start-time"},
+      {GST_RTSP_HDR_LOCATION, "GST_RTSP_HDR_LOCATION", "location"},
+      {GST_RTSP_HDR_ETAG, "GST_RTSP_HDR_ETAG", "etag"},
+      {GST_RTSP_HDR_IF_MATCH, "GST_RTSP_HDR_IF_MATCH", "if-match"},
+      {GST_RTSP_HDR_ACCEPT_CHARSET, "GST_RTSP_HDR_ACCEPT_CHARSET",
+          "accept-charset"},
+      {GST_RTSP_HDR_SUPPORTED, "GST_RTSP_HDR_SUPPORTED", "supported"},
+      {GST_RTSP_HDR_VARY, "GST_RTSP_HDR_VARY", "vary"},
+      {GST_RTSP_HDR_X_ACCELERATE_STREAMING,
+          "GST_RTSP_HDR_X_ACCELERATE_STREAMING", "x-accelerate-streaming"},
+      {GST_RTSP_HDR_X_ACCEPT_AUTHENT, "GST_RTSP_HDR_X_ACCEPT_AUTHENT",
+          "x-accept-authent"},
+      {GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT,
+          "GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT", "x-accept-proxy-authent"},
+      {GST_RTSP_HDR_X_BROADCAST_ID, "GST_RTSP_HDR_X_BROADCAST_ID",
+          "x-broadcast-id"},
+      {GST_RTSP_HDR_X_BURST_STREAMING, "GST_RTSP_HDR_X_BURST_STREAMING",
+          "x-burst-streaming"},
+      {GST_RTSP_HDR_X_NOTICE, "GST_RTSP_HDR_X_NOTICE", "x-notice"},
+      {GST_RTSP_HDR_X_PLAYER_LAG_TIME, "GST_RTSP_HDR_X_PLAYER_LAG_TIME",
+          "x-player-lag-time"},
+      {GST_RTSP_HDR_X_PLAYLIST, "GST_RTSP_HDR_X_PLAYLIST", "x-playlist"},
+      {GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE,
+            "GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE",
+          "x-playlist-change-notice"},
+      {GST_RTSP_HDR_X_PLAYLIST_GEN_ID, "GST_RTSP_HDR_X_PLAYLIST_GEN_ID",
+          "x-playlist-gen-id"},
+      {GST_RTSP_HDR_X_PLAYLIST_SEEK_ID, "GST_RTSP_HDR_X_PLAYLIST_SEEK_ID",
+          "x-playlist-seek-id"},
+      {GST_RTSP_HDR_X_PROXY_CLIENT_AGENT, "GST_RTSP_HDR_X_PROXY_CLIENT_AGENT",
+          "x-proxy-client-agent"},
+      {GST_RTSP_HDR_X_PROXY_CLIENT_VERB, "GST_RTSP_HDR_X_PROXY_CLIENT_VERB",
+          "x-proxy-client-verb"},
+      {GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE,
+            "GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE",
+          "x-receding-playlistchange"},
+      {GST_RTSP_HDR_X_RTP_INFO, "GST_RTSP_HDR_X_RTP_INFO", "x-rtp-info"},
+      {GST_RTSP_HDR_X_STARTUPPROFILE, "GST_RTSP_HDR_X_STARTUPPROFILE",
+          "x-startupprofile"},
+      {GST_RTSP_HDR_TIMESTAMP, "GST_RTSP_HDR_TIMESTAMP", "timestamp"},
+      {GST_RTSP_HDR_AUTHENTICATION_INFO, "GST_RTSP_HDR_AUTHENTICATION_INFO",
+          "authentication-info"},
+      {GST_RTSP_HDR_HOST, "GST_RTSP_HDR_HOST", "host"},
+      {GST_RTSP_HDR_PRAGMA, "GST_RTSP_HDR_PRAGMA", "pragma"},
+      {GST_RTSP_HDR_X_SERVER_IP_ADDRESS, "GST_RTSP_HDR_X_SERVER_IP_ADDRESS",
+          "x-server-ip-address"},
+      {GST_RTSP_HDR_X_SESSIONCOOKIE, "GST_RTSP_HDR_X_SESSIONCOOKIE",
+          "x-sessioncookie"},
+      {GST_RTSP_HDR_LAST, "GST_RTSP_HDR_LAST", "last"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstRTSPHeaderField", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_rtsp_status_code_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_RTSP_STS_INVALID, "GST_RTSP_STS_INVALID", "invalid"},
+      {GST_RTSP_STS_CONTINUE, "GST_RTSP_STS_CONTINUE", "continue"},
+      {GST_RTSP_STS_OK, "GST_RTSP_STS_OK", "ok"},
+      {GST_RTSP_STS_CREATED, "GST_RTSP_STS_CREATED", "created"},
+      {GST_RTSP_STS_LOW_ON_STORAGE, "GST_RTSP_STS_LOW_ON_STORAGE",
+          "low-on-storage"},
+      {GST_RTSP_STS_MULTIPLE_CHOICES, "GST_RTSP_STS_MULTIPLE_CHOICES",
+          "multiple-choices"},
+      {GST_RTSP_STS_MOVED_PERMANENTLY, "GST_RTSP_STS_MOVED_PERMANENTLY",
+          "moved-permanently"},
+      {GST_RTSP_STS_MOVE_TEMPORARILY, "GST_RTSP_STS_MOVE_TEMPORARILY",
+          "move-temporarily"},
+      {GST_RTSP_STS_SEE_OTHER, "GST_RTSP_STS_SEE_OTHER", "see-other"},
+      {GST_RTSP_STS_NOT_MODIFIED, "GST_RTSP_STS_NOT_MODIFIED", "not-modified"},
+      {GST_RTSP_STS_USE_PROXY, "GST_RTSP_STS_USE_PROXY", "use-proxy"},
+      {GST_RTSP_STS_BAD_REQUEST, "GST_RTSP_STS_BAD_REQUEST", "bad-request"},
+      {GST_RTSP_STS_UNAUTHORIZED, "GST_RTSP_STS_UNAUTHORIZED", "unauthorized"},
+      {GST_RTSP_STS_PAYMENT_REQUIRED, "GST_RTSP_STS_PAYMENT_REQUIRED",
+          "payment-required"},
+      {GST_RTSP_STS_FORBIDDEN, "GST_RTSP_STS_FORBIDDEN", "forbidden"},
+      {GST_RTSP_STS_NOT_FOUND, "GST_RTSP_STS_NOT_FOUND", "not-found"},
+      {GST_RTSP_STS_METHOD_NOT_ALLOWED, "GST_RTSP_STS_METHOD_NOT_ALLOWED",
+          "method-not-allowed"},
+      {GST_RTSP_STS_NOT_ACCEPTABLE, "GST_RTSP_STS_NOT_ACCEPTABLE",
+          "not-acceptable"},
+      {GST_RTSP_STS_PROXY_AUTH_REQUIRED, "GST_RTSP_STS_PROXY_AUTH_REQUIRED",
+          "proxy-auth-required"},
+      {GST_RTSP_STS_REQUEST_TIMEOUT, "GST_RTSP_STS_REQUEST_TIMEOUT",
+          "request-timeout"},
+      {GST_RTSP_STS_GONE, "GST_RTSP_STS_GONE", "gone"},
+      {GST_RTSP_STS_LENGTH_REQUIRED, "GST_RTSP_STS_LENGTH_REQUIRED",
+          "length-required"},
+      {GST_RTSP_STS_PRECONDITION_FAILED, "GST_RTSP_STS_PRECONDITION_FAILED",
+          "precondition-failed"},
+      {GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE,
+            "GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE",
+          "request-entity-too-large"},
+      {GST_RTSP_STS_REQUEST_URI_TOO_LARGE, "GST_RTSP_STS_REQUEST_URI_TOO_LARGE",
+          "request-uri-too-large"},
+      {GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE,
+          "GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE", "unsupported-media-type"},
+      {GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD,
+            "GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD",
+          "parameter-not-understood"},
+      {GST_RTSP_STS_CONFERENCE_NOT_FOUND, "GST_RTSP_STS_CONFERENCE_NOT_FOUND",
+          "conference-not-found"},
+      {GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH, "GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH",
+          "not-enough-bandwidth"},
+      {GST_RTSP_STS_SESSION_NOT_FOUND, "GST_RTSP_STS_SESSION_NOT_FOUND",
+          "session-not-found"},
+      {GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE,
+            "GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE",
+          "method-not-valid-in-this-state"},
+      {GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE,
+            "GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE",
+          "header-field-not-valid-for-resource"},
+      {GST_RTSP_STS_INVALID_RANGE, "GST_RTSP_STS_INVALID_RANGE",
+          "invalid-range"},
+      {GST_RTSP_STS_PARAMETER_IS_READONLY, "GST_RTSP_STS_PARAMETER_IS_READONLY",
+          "parameter-is-readonly"},
+      {GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED,
+            "GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED",
+          "aggregate-operation-not-allowed"},
+      {GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED,
+            "GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED",
+          "only-aggregate-operation-allowed"},
+      {GST_RTSP_STS_UNSUPPORTED_TRANSPORT, "GST_RTSP_STS_UNSUPPORTED_TRANSPORT",
+          "unsupported-transport"},
+      {GST_RTSP_STS_DESTINATION_UNREACHABLE,
+          "GST_RTSP_STS_DESTINATION_UNREACHABLE", "destination-unreachable"},
+      {GST_RTSP_STS_INTERNAL_SERVER_ERROR, "GST_RTSP_STS_INTERNAL_SERVER_ERROR",
+          "internal-server-error"},
+      {GST_RTSP_STS_NOT_IMPLEMENTED, "GST_RTSP_STS_NOT_IMPLEMENTED",
+          "not-implemented"},
+      {GST_RTSP_STS_BAD_GATEWAY, "GST_RTSP_STS_BAD_GATEWAY", "bad-gateway"},
+      {GST_RTSP_STS_SERVICE_UNAVAILABLE, "GST_RTSP_STS_SERVICE_UNAVAILABLE",
+          "service-unavailable"},
+      {GST_RTSP_STS_GATEWAY_TIMEOUT, "GST_RTSP_STS_GATEWAY_TIMEOUT",
+          "gateway-timeout"},
+      {GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED,
+            "GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED",
+          "rtsp-version-not-supported"},
+      {GST_RTSP_STS_OPTION_NOT_SUPPORTED, "GST_RTSP_STS_OPTION_NOT_SUPPORTED",
+          "option-not-supported"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstRTSPStatusCode", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* Generated data ends here */
diff --git a/android/gst-libs/gst/rtsp/gstrtsp-enumtypes.h b/android/gst-libs/gst/rtsp/gstrtsp-enumtypes.h
new file mode 100644 (file)
index 0000000..5a631f6
--- /dev/null
@@ -0,0 +1,35 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __gst_rtsp_ENUM_TYPES_H__
+#define __gst_rtsp_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "gstrtspdefs.h" */
+GType gst_rtsp_result_get_type (void);
+#define GST_TYPE_RTSP_RESULT (gst_rtsp_result_get_type())
+GType gst_rtsp_event_get_type (void);
+#define GST_TYPE_RTSP_EVENT (gst_rtsp_event_get_type())
+GType gst_rtsp_family_get_type (void);
+#define GST_TYPE_RTSP_FAMILY (gst_rtsp_family_get_type())
+GType gst_rtsp_state_get_type (void);
+#define GST_TYPE_RTSP_STATE (gst_rtsp_state_get_type())
+GType gst_rtsp_version_get_type (void);
+#define GST_TYPE_RTSP_VERSION (gst_rtsp_version_get_type())
+GType gst_rtsp_method_get_type (void);
+#define GST_TYPE_RTSP_METHOD (gst_rtsp_method_get_type())
+GType gst_rtsp_auth_method_get_type (void);
+#define GST_TYPE_RTSP_AUTH_METHOD (gst_rtsp_auth_method_get_type())
+GType gst_rtsp_header_field_get_type (void);
+#define GST_TYPE_RTSP_HEADER_FIELD (gst_rtsp_header_field_get_type())
+GType gst_rtsp_status_code_get_type (void);
+#define GST_TYPE_RTSP_STATUS_CODE (gst_rtsp_status_code_get_type())
+G_END_DECLS
+
+#endif /* __gst_rtsp_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff --git a/android/gst-libs/gst/rtsp/gstrtsp-marshal.c b/android/gst-libs/gst/rtsp/gstrtsp-marshal.c
new file mode 100644 (file)
index 0000000..a0177eb
--- /dev/null
@@ -0,0 +1,85 @@
+#include "gstrtsp-marshal.h"
+
+#include       <glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* ENUM:POINTER,POINTER (gstrtsp-marshal.list:1) */
+void
+gst_rtsp_marshal_ENUM__POINTER_POINTER (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gint (*GMarshalFunc_ENUM__POINTER_POINTER) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer data2);
+  register GMarshalFunc_ENUM__POINTER_POINTER callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gint v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_ENUM__POINTER_POINTER) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_pointer (param_values + 1),
+      g_marshal_value_peek_pointer (param_values + 2), data2);
+
+  g_value_set_enum (return_value, v_return);
+}
diff --git a/android/gst-libs/gst/rtsp/gstrtsp-marshal.h b/android/gst-libs/gst/rtsp/gstrtsp-marshal.h
new file mode 100644 (file)
index 0000000..e2c5b4b
--- /dev/null
@@ -0,0 +1,20 @@
+
+#ifndef __gst_rtsp_marshal_MARSHAL_H__
+#define __gst_rtsp_marshal_MARSHAL_H__
+
+#include       <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* ENUM:POINTER,POINTER (gstrtsp-marshal.list:1) */
+extern void gst_rtsp_marshal_ENUM__POINTER_POINTER (GClosure     *closure,
+                                                    GValue       *return_value,
+                                                    guint         n_param_values,
+                                                    const GValue *param_values,
+                                                    gpointer      invocation_hint,
+                                                    gpointer      marshal_data);
+
+G_END_DECLS
+
+#endif /* __gst_rtsp_marshal_MARSHAL_H__ */
+
diff --git a/android/gst-libs/gst/video/video-enumtypes.c b/android/gst-libs/gst/video/video-enumtypes.c
new file mode 100644 (file)
index 0000000..13aaef2
--- /dev/null
@@ -0,0 +1,45 @@
+
+/* Generated data (by glib-mkenums) */
+
+#include "video-enumtypes.h"
+
+#include "video.h"
+
+/* enumerations from "video.h" */
+GType
+gst_video_format_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_VIDEO_FORMAT_UNKNOWN, "GST_VIDEO_FORMAT_UNKNOWN", "unknown"},
+      {GST_VIDEO_FORMAT_I420, "GST_VIDEO_FORMAT_I420", "i420"},
+      {GST_VIDEO_FORMAT_YV12, "GST_VIDEO_FORMAT_YV12", "yv12"},
+      {GST_VIDEO_FORMAT_YUY2, "GST_VIDEO_FORMAT_YUY2", "yuy2"},
+      {GST_VIDEO_FORMAT_UYVY, "GST_VIDEO_FORMAT_UYVY", "uyvy"},
+      {GST_VIDEO_FORMAT_AYUV, "GST_VIDEO_FORMAT_AYUV", "ayuv"},
+      {GST_VIDEO_FORMAT_RGBx, "GST_VIDEO_FORMAT_RGBx", "rgbx"},
+      {GST_VIDEO_FORMAT_BGRx, "GST_VIDEO_FORMAT_BGRx", "bgrx"},
+      {GST_VIDEO_FORMAT_xRGB, "GST_VIDEO_FORMAT_xRGB", "xrgb"},
+      {GST_VIDEO_FORMAT_xBGR, "GST_VIDEO_FORMAT_xBGR", "xbgr"},
+      {GST_VIDEO_FORMAT_RGBA, "GST_VIDEO_FORMAT_RGBA", "rgba"},
+      {GST_VIDEO_FORMAT_BGRA, "GST_VIDEO_FORMAT_BGRA", "bgra"},
+      {GST_VIDEO_FORMAT_ARGB, "GST_VIDEO_FORMAT_ARGB", "argb"},
+      {GST_VIDEO_FORMAT_ABGR, "GST_VIDEO_FORMAT_ABGR", "abgr"},
+      {GST_VIDEO_FORMAT_RGB, "GST_VIDEO_FORMAT_RGB", "rgb"},
+      {GST_VIDEO_FORMAT_BGR, "GST_VIDEO_FORMAT_BGR", "bgr"},
+      {GST_VIDEO_FORMAT_Y41B, "GST_VIDEO_FORMAT_Y41B", "y41b"},
+      {GST_VIDEO_FORMAT_Y42B, "GST_VIDEO_FORMAT_Y42B", "y42b"},
+      {GST_VIDEO_FORMAT_YVYU, "GST_VIDEO_FORMAT_YVYU", "yvyu"},
+      {GST_VIDEO_FORMAT_Y444, "GST_VIDEO_FORMAT_Y444", "y444"},
+      {GST_VIDEO_FORMAT_v210, "GST_VIDEO_FORMAT_v210", "v210"},
+      {GST_VIDEO_FORMAT_v216, "GST_VIDEO_FORMAT_v216", "v216"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstVideoFormat", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* Generated data ends here */
diff --git a/android/gst-libs/gst/video/video-enumtypes.h b/android/gst-libs/gst/video/video-enumtypes.h
new file mode 100644 (file)
index 0000000..3f99b47
--- /dev/null
@@ -0,0 +1,19 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __GST_VIDEO_ENUM_TYPES_H__
+#define __GST_VIDEO_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "video.h" */
+GType gst_video_format_get_type (void);
+#define GST_TYPE_VIDEO_FORMAT (gst_video_format_get_type())
+G_END_DECLS
+
+#endif /* __GST_VIDEO_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff --git a/android/gst/playback/gstplay-marshal.c b/android/gst/playback/gstplay-marshal.c
new file mode 100644 (file)
index 0000000..3154994
--- /dev/null
@@ -0,0 +1,468 @@
+#include "gstplay-marshal.h"
+
+#include       <glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* BOOLEAN:OBJECT,BOXED (gstplay-marshal.list:1) */
+void
+gst_play_marshal_BOOLEAN__OBJECT_BOXED (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_BOXED) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer data2);
+  register GMarshalFunc_BOOLEAN__OBJECT_BOXED callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gboolean v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOOLEAN__OBJECT_BOXED) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_boxed (param_values + 2), data2);
+
+  g_value_set_boolean (return_value, v_return);
+}
+
+/* BOOLEAN:OBJECT,OBJECT,OBJECT (gstplay-marshal.list:2) */
+void
+gst_play_marshal_BOOLEAN__OBJECT_OBJECT_OBJECT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_OBJECT_OBJECT) (gpointer
+      data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2);
+  register GMarshalFunc_BOOLEAN__OBJECT_OBJECT_OBJECT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gboolean v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 4);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOOLEAN__OBJECT_OBJECT_OBJECT) (marshal_data ? marshal_data
+      : cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_object (param_values + 2),
+      g_marshal_value_peek_object (param_values + 3), data2);
+
+  g_value_set_boolean (return_value, v_return);
+}
+
+/* BOXED:OBJECT,BOXED (gstplay-marshal.list:3) */
+void
+gst_play_marshal_BOXED__OBJECT_BOXED (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gpointer (*GMarshalFunc_BOXED__OBJECT_BOXED) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer data2);
+  register GMarshalFunc_BOXED__OBJECT_BOXED callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gpointer v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOXED__OBJECT_BOXED) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_boxed (param_values + 2), data2);
+
+  g_value_take_boxed (return_value, v_return);
+}
+
+/* VOID:OBJECT,BOOLEAN (gstplay-marshal.list:4) */
+void
+gst_play_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer data1,
+      gpointer arg_1, gboolean arg_2, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_BOOLEAN callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_boolean (param_values + 2), data2);
+}
+
+/* ENUM:OBJECT,OBJECT,BOXED (gstplay-marshal.list:5) */
+void
+gst_play_marshal_ENUM__OBJECT_OBJECT_BOXED (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gint (*GMarshalFunc_ENUM__OBJECT_OBJECT_BOXED) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2);
+  register GMarshalFunc_ENUM__OBJECT_OBJECT_BOXED callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gint v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 4);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_ENUM__OBJECT_OBJECT_BOXED) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_object (param_values + 2),
+      g_marshal_value_peek_boxed (param_values + 3), data2);
+
+  g_value_set_enum (return_value, v_return);
+}
+
+/* ENUM:OBJECT,BOXED,OBJECT (gstplay-marshal.list:6) */
+void
+gst_play_marshal_ENUM__OBJECT_BOXED_OBJECT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gint (*GMarshalFunc_ENUM__OBJECT_BOXED_OBJECT) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2);
+  register GMarshalFunc_ENUM__OBJECT_BOXED_OBJECT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gint v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 4);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_ENUM__OBJECT_BOXED_OBJECT) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_boxed (param_values + 2),
+      g_marshal_value_peek_object (param_values + 3), data2);
+
+  g_value_set_enum (return_value, v_return);
+}
+
+/* BOXED:OBJECT,BOXED,BOXED (gstplay-marshal.list:7) */
+void
+gst_play_marshal_BOXED__OBJECT_BOXED_BOXED (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gpointer (*GMarshalFunc_BOXED__OBJECT_BOXED_BOXED) (gpointer data1,
+      gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2);
+  register GMarshalFunc_BOXED__OBJECT_BOXED_BOXED callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gpointer v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 4);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOXED__OBJECT_BOXED_BOXED) (marshal_data ? marshal_data :
+      cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_boxed (param_values + 2),
+      g_marshal_value_peek_boxed (param_values + 3), data2);
+
+  g_value_take_boxed (return_value, v_return);
+}
+
+/* BOXED:INT (gstplay-marshal.list:8) */
+void
+gst_play_marshal_BOXED__INT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gpointer (*GMarshalFunc_BOXED__INT) (gpointer data1,
+      gint arg_1, gpointer data2);
+  register GMarshalFunc_BOXED__INT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gpointer v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 2);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOXED__INT) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_int (param_values + 1), data2);
+
+  g_value_take_boxed (return_value, v_return);
+}
+
+/* OBJECT:BOXED (gstplay-marshal.list:9) */
+void
+gst_play_marshal_OBJECT__BOXED (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef GObject *(*GMarshalFunc_OBJECT__BOXED) (gpointer data1,
+      gpointer arg_1, gpointer data2);
+  register GMarshalFunc_OBJECT__BOXED callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  GObject *v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 2);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_OBJECT__BOXED) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_boxed (param_values + 1), data2);
+
+  g_value_take_object (return_value, v_return);
+}
+
+/* OBJECT:INT (gstplay-marshal.list:10) */
+void
+gst_play_marshal_OBJECT__INT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef GObject *(*GMarshalFunc_OBJECT__INT) (gpointer data1,
+      gint arg_1, gpointer data2);
+  register GMarshalFunc_OBJECT__INT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  GObject *v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 2);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_OBJECT__INT) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_int (param_values + 1), data2);
+
+  g_value_take_object (return_value, v_return);
+}
+
+/* INT64:VOID (gstplay-marshal.list:11) */
+void
+gst_play_marshal_INT64__VOID (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gint64 (*GMarshalFunc_INT64__VOID) (gpointer data1, gpointer data2);
+  register GMarshalFunc_INT64__VOID callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gint64 v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 1);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_INT64__VOID) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1, data2);
+
+  g_value_set_int64 (return_value, v_return);
+}
+
+/* VOID:OBJECT,INT64,INT64 (gstplay-marshal.list:12) */
+void
+gst_play_marshal_VOID__OBJECT_INT64_INT64 (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__OBJECT_INT64_INT64) (gpointer data1,
+      gpointer arg_1, gint64 arg_2, gint64 arg_3, gpointer data2);
+  register GMarshalFunc_VOID__OBJECT_INT64_INT64 callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 4);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__OBJECT_INT64_INT64) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_object (param_values + 1),
+      g_marshal_value_peek_int64 (param_values + 2),
+      g_marshal_value_peek_int64 (param_values + 3), data2);
+}
diff --git a/android/gst/playback/gstplay-marshal.h b/android/gst/playback/gstplay-marshal.h
new file mode 100644 (file)
index 0000000..905a2c8
--- /dev/null
@@ -0,0 +1,108 @@
+
+#ifndef __gst_play_marshal_MARSHAL_H__
+#define __gst_play_marshal_MARSHAL_H__
+
+#include       <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* BOOLEAN:OBJECT,BOXED (gstplay-marshal.list:1) */
+extern void gst_play_marshal_BOOLEAN__OBJECT_BOXED (GClosure     *closure,
+                                                    GValue       *return_value,
+                                                    guint         n_param_values,
+                                                    const GValue *param_values,
+                                                    gpointer      invocation_hint,
+                                                    gpointer      marshal_data);
+
+/* BOOLEAN:OBJECT,OBJECT,OBJECT (gstplay-marshal.list:2) */
+extern void gst_play_marshal_BOOLEAN__OBJECT_OBJECT_OBJECT (GClosure     *closure,
+                                                            GValue       *return_value,
+                                                            guint         n_param_values,
+                                                            const GValue *param_values,
+                                                            gpointer      invocation_hint,
+                                                            gpointer      marshal_data);
+
+/* BOXED:OBJECT,BOXED (gstplay-marshal.list:3) */
+extern void gst_play_marshal_BOXED__OBJECT_BOXED (GClosure     *closure,
+                                                  GValue       *return_value,
+                                                  guint         n_param_values,
+                                                  const GValue *param_values,
+                                                  gpointer      invocation_hint,
+                                                  gpointer      marshal_data);
+
+/* VOID:OBJECT,BOOLEAN (gstplay-marshal.list:4) */
+extern void gst_play_marshal_VOID__OBJECT_BOOLEAN (GClosure     *closure,
+                                                   GValue       *return_value,
+                                                   guint         n_param_values,
+                                                   const GValue *param_values,
+                                                   gpointer      invocation_hint,
+                                                   gpointer      marshal_data);
+
+/* ENUM:OBJECT,OBJECT,BOXED (gstplay-marshal.list:5) */
+extern void gst_play_marshal_ENUM__OBJECT_OBJECT_BOXED (GClosure     *closure,
+                                                        GValue       *return_value,
+                                                        guint         n_param_values,
+                                                        const GValue *param_values,
+                                                        gpointer      invocation_hint,
+                                                        gpointer      marshal_data);
+
+/* ENUM:OBJECT,BOXED,OBJECT (gstplay-marshal.list:6) */
+extern void gst_play_marshal_ENUM__OBJECT_BOXED_OBJECT (GClosure     *closure,
+                                                        GValue       *return_value,
+                                                        guint         n_param_values,
+                                                        const GValue *param_values,
+                                                        gpointer      invocation_hint,
+                                                        gpointer      marshal_data);
+
+/* BOXED:OBJECT,BOXED,BOXED (gstplay-marshal.list:7) */
+extern void gst_play_marshal_BOXED__OBJECT_BOXED_BOXED (GClosure     *closure,
+                                                        GValue       *return_value,
+                                                        guint         n_param_values,
+                                                        const GValue *param_values,
+                                                        gpointer      invocation_hint,
+                                                        gpointer      marshal_data);
+
+/* BOXED:INT (gstplay-marshal.list:8) */
+extern void gst_play_marshal_BOXED__INT (GClosure     *closure,
+                                         GValue       *return_value,
+                                         guint         n_param_values,
+                                         const GValue *param_values,
+                                         gpointer      invocation_hint,
+                                         gpointer      marshal_data);
+
+/* OBJECT:BOXED (gstplay-marshal.list:9) */
+extern void gst_play_marshal_OBJECT__BOXED (GClosure     *closure,
+                                            GValue       *return_value,
+                                            guint         n_param_values,
+                                            const GValue *param_values,
+                                            gpointer      invocation_hint,
+                                            gpointer      marshal_data);
+
+/* OBJECT:INT (gstplay-marshal.list:10) */
+extern void gst_play_marshal_OBJECT__INT (GClosure     *closure,
+                                          GValue       *return_value,
+                                          guint         n_param_values,
+                                          const GValue *param_values,
+                                          gpointer      invocation_hint,
+                                          gpointer      marshal_data);
+
+/* INT64:VOID (gstplay-marshal.list:11) */
+extern void gst_play_marshal_INT64__VOID (GClosure     *closure,
+                                          GValue       *return_value,
+                                          guint         n_param_values,
+                                          const GValue *param_values,
+                                          gpointer      invocation_hint,
+                                          gpointer      marshal_data);
+
+/* VOID:OBJECT,INT64,INT64 (gstplay-marshal.list:12) */
+extern void gst_play_marshal_VOID__OBJECT_INT64_INT64 (GClosure     *closure,
+                                                       GValue       *return_value,
+                                                       guint         n_param_values,
+                                                       const GValue *param_values,
+                                                       gpointer      invocation_hint,
+                                                       gpointer      marshal_data);
+
+G_END_DECLS
+
+#endif /* __gst_play_marshal_MARSHAL_H__ */
+
diff --git a/android/gst/tcp/gsttcp-enumtypes.c b/android/gst/tcp/gsttcp-enumtypes.c
new file mode 100644 (file)
index 0000000..0f1018a
--- /dev/null
@@ -0,0 +1,25 @@
+
+/* Generated data (by glib-mkenums) */
+
+#include "gsttcp-enumtypes.h"
+
+#include "gsttcp.h"
+
+/* enumerations from "gsttcp.h" */
+GType
+gst_tcp_protocol_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_TCP_PROTOCOL_NONE, "GST_TCP_PROTOCOL_NONE", "none"},
+      {GST_TCP_PROTOCOL_GDP, "GST_TCP_PROTOCOL_GDP", "gdp"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id = g_enum_register_static ("GstTCPProtocol", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* Generated data ends here */
diff --git a/android/gst/tcp/gsttcp-enumtypes.h b/android/gst/tcp/gsttcp-enumtypes.h
new file mode 100644 (file)
index 0000000..46cda7d
--- /dev/null
@@ -0,0 +1,19 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __GST_TCP_ENUM_TYPES_H__
+#define __GST_TCP_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "gsttcp.h" */
+GType gst_tcp_protocol_get_type (void);
+#define GST_TYPE_TCP_PROTOCOL (gst_tcp_protocol_get_type())
+G_END_DECLS
+
+#endif /* __GST_TCP_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff --git a/android/gst/tcp/gsttcp-marshal.c b/android/gst/tcp/gsttcp-marshal.c
new file mode 100644 (file)
index 0000000..fb11074
--- /dev/null
@@ -0,0 +1,186 @@
+#include "gsttcp-marshal.h"
+
+#include       <glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* VOID:STRING,UINT (gsttcp-marshal.list:1) */
+void
+gst_tcp_marshal_VOID__STRING_UINT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__STRING_UINT) (gpointer data1,
+      gpointer arg_1, guint arg_2, gpointer data2);
+  register GMarshalFunc_VOID__STRING_UINT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__STRING_UINT) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_string (param_values + 1),
+      g_marshal_value_peek_uint (param_values + 2), data2);
+}
+
+/* VOID:INT (gsttcp-marshal.list:2) */
+
+/* VOID:INT,BOXED (gsttcp-marshal.list:3) */
+void
+gst_tcp_marshal_VOID__INT_BOXED (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__INT_BOXED) (gpointer data1,
+      gint arg_1, gpointer arg_2, gpointer data2);
+  register GMarshalFunc_VOID__INT_BOXED callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 3);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__INT_BOXED) (marshal_data ? marshal_data :
+      cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_int (param_values + 1),
+      g_marshal_value_peek_boxed (param_values + 2), data2);
+}
+
+/* VOID:INT,ENUM,INT,UINT64,INT,UINT64 (gsttcp-marshal.list:4) */
+void
+gst_tcp_marshal_VOID__INT_ENUM_INT_UINT64_INT_UINT64 (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__INT_ENUM_INT_UINT64_INT_UINT64) (gpointer
+      data1, gint arg_1, gint arg_2, gint arg_3, guint64 arg_4, gint arg_5,
+      guint64 arg_6, gpointer data2);
+  register GMarshalFunc_VOID__INT_ENUM_INT_UINT64_INT_UINT64 callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 7);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_VOID__INT_ENUM_INT_UINT64_INT_UINT64) (marshal_data ?
+      marshal_data : cc->callback);
+
+  callback (data1,
+      g_marshal_value_peek_int (param_values + 1),
+      g_marshal_value_peek_enum (param_values + 2),
+      g_marshal_value_peek_int (param_values + 3),
+      g_marshal_value_peek_uint64 (param_values + 4),
+      g_marshal_value_peek_int (param_values + 5),
+      g_marshal_value_peek_uint64 (param_values + 6), data2);
+}
+
+/* BOXED:INT (gsttcp-marshal.list:5) */
+void
+gst_tcp_marshal_BOXED__INT (GClosure * closure,
+    GValue * return_value G_GNUC_UNUSED,
+    guint n_param_values,
+    const GValue * param_values,
+    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
+{
+  typedef gpointer (*GMarshalFunc_BOXED__INT) (gpointer data1,
+      gint arg_1, gpointer data2);
+  register GMarshalFunc_BOXED__INT callback;
+  register GCClosure *cc = (GCClosure *) closure;
+  register gpointer data1, data2;
+  gpointer v_return;
+
+  g_return_if_fail (return_value != NULL);
+  g_return_if_fail (n_param_values == 2);
+
+  if (G_CCLOSURE_SWAP_DATA (closure)) {
+    data1 = closure->data;
+    data2 = g_value_peek_pointer (param_values + 0);
+  } else {
+    data1 = g_value_peek_pointer (param_values + 0);
+    data2 = closure->data;
+  }
+  callback =
+      (GMarshalFunc_BOXED__INT) (marshal_data ? marshal_data : cc->callback);
+
+  v_return = callback (data1,
+      g_marshal_value_peek_int (param_values + 1), data2);
+
+  g_value_take_boxed (return_value, v_return);
+}
diff --git a/android/gst/tcp/gsttcp-marshal.h b/android/gst/tcp/gsttcp-marshal.h
new file mode 100644 (file)
index 0000000..092e152
--- /dev/null
@@ -0,0 +1,47 @@
+
+#ifndef __gst_tcp_marshal_MARSHAL_H__
+#define __gst_tcp_marshal_MARSHAL_H__
+
+#include       <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* VOID:STRING,UINT (gsttcp-marshal.list:1) */
+extern void gst_tcp_marshal_VOID__STRING_UINT (GClosure     *closure,
+                                               GValue       *return_value,
+                                               guint         n_param_values,
+                                               const GValue *param_values,
+                                               gpointer      invocation_hint,
+                                               gpointer      marshal_data);
+
+/* VOID:INT (gsttcp-marshal.list:2) */
+#define gst_tcp_marshal_VOID__INT      g_cclosure_marshal_VOID__INT
+
+/* VOID:INT,BOXED (gsttcp-marshal.list:3) */
+extern void gst_tcp_marshal_VOID__INT_BOXED (GClosure     *closure,
+                                             GValue       *return_value,
+                                             guint         n_param_values,
+                                             const GValue *param_values,
+                                             gpointer      invocation_hint,
+                                             gpointer      marshal_data);
+
+/* VOID:INT,ENUM,INT,UINT64,INT,UINT64 (gsttcp-marshal.list:4) */
+extern void gst_tcp_marshal_VOID__INT_ENUM_INT_UINT64_INT_UINT64 (GClosure     *closure,
+                                                                  GValue       *return_value,
+                                                                  guint         n_param_values,
+                                                                  const GValue *param_values,
+                                                                  gpointer      invocation_hint,
+                                                                  gpointer      marshal_data);
+
+/* BOXED:INT (gsttcp-marshal.list:5) */
+extern void gst_tcp_marshal_BOXED__INT (GClosure     *closure,
+                                        GValue       *return_value,
+                                        guint         n_param_values,
+                                        const GValue *param_values,
+                                        gpointer      invocation_hint,
+                                        gpointer      marshal_data);
+
+G_END_DECLS
+
+#endif /* __gst_tcp_marshal_MARSHAL_H__ */
+
diff --git a/android/interfaces.mk b/android/interfaces.mk
new file mode 100644 (file)
index 0000000..91bb1d5
--- /dev/null
@@ -0,0 +1,86 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_interfaces_COPY_HEADERS_TO := gstreamer-0.10/gst/interfaces
+gst_interfaces_COPY_HEADERS_BASE := \
+       gst-libs/gst/interfaces/colorbalance.h \
+       gst-libs/gst/interfaces/colorbalancechannel.h \
+       gst-libs/gst/interfaces/mixer.h \
+       gst-libs/gst/interfaces/mixeroptions.h \
+       gst-libs/gst/interfaces/mixertrack.h \
+       gst-libs/gst/interfaces/navigation.h \
+       gst-libs/gst/interfaces/propertyprobe.h \
+       gst-libs/gst/interfaces/streamvolume.h \
+       gst-libs/gst/interfaces/tuner.h \
+       gst-libs/gst/interfaces/tunerchannel.h \
+       gst-libs/gst/interfaces/tunernorm.h \
+       gst-libs/gst/interfaces/videoorientation.h \
+       gst-libs/gst/interfaces/xoverlay.h
+gst_interfaces_COPY_HEADERS_ANDROID := \
+       gst-libs/gst/interfaces/interfaces-enumtypes.h 
+
+gst_interfaces_COPY_HEADERS := $(addprefix ../,$(gst_interfaces_COPY_HEADERS_BASE)) \
+                                                      $(addprefix ../android/,$(gst_interfaces_COPY_HEADERS_ANDROID))
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+interfaces_LOCAL_SRC_FILES_BASE:= \
+       gst-libs/gst/interfaces/colorbalance.c \
+       gst-libs/gst/interfaces/colorbalancechannel.c \
+       gst-libs/gst/interfaces/mixer.c \
+       gst-libs/gst/interfaces/mixeroptions.c \
+       gst-libs/gst/interfaces/mixertrack.c \
+       gst-libs/gst/interfaces/navigation.c \
+       gst-libs/gst/interfaces/propertyprobe.c \
+       gst-libs/gst/interfaces/streamvolume.c \
+       gst-libs/gst/interfaces/tuner.c \
+       gst-libs/gst/interfaces/tunernorm.c \
+       gst-libs/gst/interfaces/tunerchannel.c \
+       gst-libs/gst/interfaces/videoorientation.c \
+       gst-libs/gst/interfaces/xoverlay.c 
+interfaces_LOCAL_SRC_FILES_ANDROID:= \
+       gst-libs/gst/interfaces/interfaces-marshal.c \
+       gst-libs/gst/interfaces/interfaces-enumtypes.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(interfaces_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(interfaces_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgstinterfaces-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/interfaces \
+    $(LOCAL_PATH)/../gst-libs           \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/gst-libs/gst/interfaces \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_interfaces_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_interfaces_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/netbuffer.mk b/android/netbuffer.mk
new file mode 100644 (file)
index 0000000..c3efd8b
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_netbuffer_COPY_HEADERS_TO := gstreamer-0.10/gst/netbuffer
+gst_netbuffer_COPY_HEADERS := \
+       ../gst-libs/gst/netbuffer/gstnetbuffer.h
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+netbuffer_LOCAL_SRC_FILES:= \
+       gst-libs/gst/netbuffer/gstnetbuffer.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(netbuffer_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgstnetbuffer-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/netbuffer \
+    $(LOCAL_PATH)/../gst-libs                          \
+    $(LOCAL_PATH)/..                                   \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/../gst/tcp                        \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10    \
+       $(TARGET_OUT_HEADERS)/glib-2.0                  \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib     \
+       external/libxml2/include
+
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_netbuffer_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_netbuffer_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/pbutils.mk b/android/pbutils.mk
new file mode 100644 (file)
index 0000000..facd6a9
--- /dev/null
@@ -0,0 +1,69 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_pbutils_COPY_HEADERS_TO := gstreamer-0.10/gst/pbutils
+gst_pbutils_COPY_HEADERS_BASE := \
+       gst-libs/gst/pbutils/descriptions.h \
+       gst-libs/gst/pbutils/install-plugins.h \
+       gst-libs/gst/pbutils/missing-plugins.h \
+       gst-libs/gst/pbutils/pbutils.h
+gst_pbutils_COPY_HEADERS_ANDROID := \
+       gst-libs/gst/pbutils/pbutils-enumtypes.h
+
+gst_pbutils_COPY_HEADERS := $(addprefix ../,$(gst_pbutils_COPY_HEADERS_BASE)) \
+                                                       $(addprefix ../android/,$(gst_pbutils_COPY_HEADERS_ANDROID))
+       
+
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+pbutils_LOCAL_SRC_FILES_BASE:= \
+       gst-libs/gst/pbutils/pbutils.c \
+       gst-libs/gst/pbutils/descriptions.c \
+       gst-libs/gst/pbutils/install-plugins.c \
+       gst-libs/gst/pbutils/missing-plugins.c 
+pbutils_LOCAL_SRC_FILES_ANDROID:= \
+       gst-libs/gst/pbutils/pbutils-enumtypes.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(pbutils_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(pbutils_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     
+
+LOCAL_MODULE:= libgstpbutils-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/pbutils      \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                                   \
+    $(LOCAL_PATH)                                                      \
+       $(LOCAL_PATH)/gst-libs/gst/pbutils      \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10    \
+       $(TARGET_OUT_HEADERS)/glib-2.0                  \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib     \
+       external/libxml2/include
+
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_pbutils_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_pbutils_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/playbin.mk b/android/playbin.mk
new file mode 100644 (file)
index 0000000..cb7fa10
--- /dev/null
@@ -0,0 +1,64 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+playbin_LOCAL_SRC_FILES_BASE:= \
+       gst/playback/gstinputselector.c \
+       gst/playback/gstplayback.c \
+       gst/playback/gstplaybin.c \
+       gst/playback/gstplaybin2.c \
+       gst/playback/gstplaysink.c \
+       gst/playback/gstplaybasebin.c \
+       gst/playback/gstplay-enum.c \
+       gst/playback/gstfactorylists.c \
+       gst/playback/gstscreenshot.c \
+       gst/playback/gststreaminfo.c \
+       gst/playback/gststreamselector.c \
+       gst/playback/gstsubtitleoverlay.c
+playbin_LOCAL_SRC_FILES_ANDROID:= \
+       gst/playback/gstplay-marshal.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(playbin_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(playbin_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstpbutils-0.10              \
+       libgstinterfaces-0.10   \
+       libgstvideo-0.10
+
+LOCAL_MODULE:= libgstplaybin
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/playback              \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/playback              \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H         -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/queue2.mk b/android/queue2.mk
new file mode 100644 (file)
index 0000000..65f1f1e
--- /dev/null
@@ -0,0 +1,52 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+queue2_LOCAL_SRC_FILES_BASE:= \
+       gst/playback/gstqueue2.c 
+queue2_LOCAL_SRC_FILES_ANDROID:= \
+    gst/playback/gstplay-marshal.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(queue2_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(queue2_LOCAL_SRC_FILES_ANDROID))
+
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstpbutils-0.10
+
+LOCAL_MODULE:= libgstqueue2
+
+LOCAL_C_INCLUDES := \
+       $(LOCAL_PATH)/../gst/playback           \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/playback              \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/riff.mk b/android/riff.mk
new file mode 100644 (file)
index 0000000..bae94a7
--- /dev/null
@@ -0,0 +1,59 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_riffs_COPY_HEADERS_TO := gstreamer-0.10/gst/riff
+gst_riffs_COPY_HEADERS := \
+       ../gst-libs/gst/riff/riff-ids.h \
+       ../gst-libs/gst/riff/riff-media.h \
+       ../gst-libs/gst/riff/riff-read.h
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+riff_LOCAL_SRC_FILES:= \
+       gst-libs/gst/riff/riff.c \
+       gst-libs/gst/riff/riff-media.c \
+       gst-libs/gst/riff/riff-read.c 
+    
+LOCAL_SRC_FILES:= $(addprefix ../,$(riff_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgsttag-0.10          \
+    libgstaudio-0.10     
+
+
+LOCAL_MODULE:= libgstriff-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/riff  \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/tcp                           \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H         -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_riffs_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_riffs_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/rtp.mk b/android/rtp.mk
new file mode 100644 (file)
index 0000000..7a8a8bc
--- /dev/null
@@ -0,0 +1,63 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_rtp_COPY_HEADERS_TO := gstreamer-0.10/gst/rtp
+gst_rtp_COPY_HEADERS := \
+       ../gst-libs/gst/rtp/gstbasertpaudiopayload.h \
+       ../gst-libs/gst/rtp/gstbasertpdepayload.h \
+       ../gst-libs/gst/rtp/gstbasertppayload.h \
+       ../gst-libs/gst/rtp/gstrtcpbuffer.h \
+       ../gst-libs/gst/rtp/gstrtpbuffer.h \
+       ../gst-libs/gst/rtp/gstrtppayloads.h
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+rtp_LOCAL_SRC_FILES:= \
+       gst-libs/gst/rtp/gstrtpbuffer.c \
+       gst-libs/gst/rtp/gstrtcpbuffer.c \
+       gst-libs/gst/rtp/gstrtppayloads.c \
+       gst-libs/gst/rtp/gstbasertpaudiopayload.c \
+       gst-libs/gst/rtp/gstbasertppayload.c \
+       gst-libs/gst/rtp/gstbasertpdepayload.c 
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(rtp_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+       libdl                   \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0             
+
+LOCAL_MODULE:= libgstrtp-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/rtp   \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/../                          \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/tcp                           \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_rtp_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_rtp_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/rtsp.mk b/android/rtsp.mk
new file mode 100644 (file)
index 0000000..7f628e3
--- /dev/null
@@ -0,0 +1,76 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_rtsp_COPY_HEADERS_TO := gstreamer-0.10/gst/rtsp
+gst_rtsp_COPY_HEADERS_BASE := \
+       gst-libs/gst/rtsp/gstrtspbase64.h \
+       gst-libs/gst/rtsp/gstrtspdefs.h \
+       gst-libs/gst/rtsp/gstrtspconnection.h \
+       gst-libs/gst/rtsp/gstrtspextension.h \
+       gst-libs/gst/rtsp/gstrtspmessage.h \
+       gst-libs/gst/rtsp/gstrtsprange.h \
+       gst-libs/gst/rtsp/gstrtsptransport.h \
+       gst-libs/gst/rtsp/gstrtspurl.h
+gst_rtsp_COPY_HEADERS_ANDROID := \
+       gst-libs/gst/rtsp/gstrtsp-enumtypes.h
+
+gst_rtsp_COPY_HEADERS := $(addprefix ../,$(gst_rtsp_COPY_HEADERS_BASE)) \
+                                                $(addprefix ../android/,$(gst_rtsp_COPY_HEADERS_ANDROID))      
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+rtsp_LOCAL_SRC_FILES_BASE:= \
+       gst-libs/gst/rtsp/gstrtspbase64.c \
+       gst-libs/gst/rtsp/gstrtspdefs.c \
+       gst-libs/gst/rtsp/gstrtspconnection.c \
+       gst-libs/gst/rtsp/gstrtspextension.c \
+       gst-libs/gst/rtsp/gstrtspmessage.c \
+       gst-libs/gst/rtsp/gstrtsprange.c \
+       gst-libs/gst/rtsp/gstrtsptransport.c \
+       gst-libs/gst/rtsp/gstrtspurl.c 
+rtsp_LOCAL_SRC_FILES_ANDROID:= \
+       gst-libs/gst/rtsp/gstrtsp-marshal.c \
+       gst-libs/gst/rtsp/gstrtsp-enumtypes.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(rtsp_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(rtsp_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgstrtsp-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/rtsp  \
+    $(LOCAL_PATH)/../gst-libs           \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/gst-libs/gst/rtsp     \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H -DINET_ADDRSTRLEN=16 -DGSTREAMER_BUILT_FOR_ANDROID   
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+
+LOCAL_COPY_HEADERS_TO := $(gst_rtsp_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_rtsp_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/sdp.mk b/android/sdp.mk
new file mode 100644 (file)
index 0000000..ae68026
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_sdp_COPY_HEADERS_TO := gstreamer-0.10/gst/sdp
+gst_sdp_COPY_HEADERS := \
+       ../gst-libs/gst/sdp/gstsdp.h \
+       ../gst-libs/gst/sdp/gstsdpmessage.h
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+sdp_LOCAL_SRC_FILES:= \
+       gst-libs/gst/sdp/gstsdpmessage.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(sdp_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgstsdp-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/sdp  \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+       $(LOCAL_PATH)/gst/tcp                           \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include 
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H  -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_sdp_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_sdp_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/tag.mk b/android/tag.mk
new file mode 100644 (file)
index 0000000..c0c1030
--- /dev/null
@@ -0,0 +1,57 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_tag_COPY_HEADERS_TO := gstreamer-0.10/gst/tag
+gst_tag_COPY_HEADERS := \
+       ../gst-libs/gst/tag/gsttagdemux.h \
+       ../gst-libs/gst/tag/tag.h
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+tag_LOCAL_SRC_FILES:= \
+    gst-libs/gst/tag/gstvorbistag.c \
+       gst-libs/gst/tag/gstid3tag.c \
+       gst-libs/gst/tag/tags.c \
+       gst-libs/gst/tag/lang.c \
+       gst-libs/gst/tag/gsttagdemux.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(tag_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgsttag-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/tag                           \
+    $(LOCAL_PATH)/../gst-libs                          \
+    $(LOCAL_PATH)/..                                   \
+       $(LOCAL_PATH)                                                   \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10    \
+       $(TARGET_OUT_HEADERS)/glib-2.0                  \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib     \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_tag_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_tag_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/tcp.mk b/android/tcp.mk
new file mode 100644 (file)
index 0000000..29fe211
--- /dev/null
@@ -0,0 +1,58 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+tcp_LOCAL_SRC_FILES_BASE:= \
+       gst/tcp/gsttcpplugin.c          \
+       gst/tcp/gsttcp.c                        \
+       gst/tcp/gstmultifdsink.c        \
+       gst/tcp/gsttcpclientsrc.c       \
+       gst/tcp/gsttcpclientsink.c      \
+       gst/tcp/gsttcpserversrc.c       \
+       gst/tcp/gsttcpserversink.c      
+tcp_LOCAL_SRC_FILES_ANDROID:= \
+       gst/tcp/gsttcp-enumtypes.c      \
+       gst/tcp/gsttcp-marshal.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(tcp_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(tcp_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0                     \
+       libgstdataprotocol-0.10
+
+LOCAL_MODULE:= libgsttcp
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/tcp                           \
+    $(LOCAL_PATH)/../gst-libs                          \
+    $(LOCAL_PATH)/..                                   \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/gst/tcp                                   \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10    \
+       $(TARGET_OUT_HEADERS)/glib-2.0                  \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib     \
+       external/libxml2/include 
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H  -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/typefindfunctions.mk b/android/typefindfunctions.mk
new file mode 100644 (file)
index 0000000..cb660b9
--- /dev/null
@@ -0,0 +1,47 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+typefindfunctions_LOCAL_SRC_FILES:= \
+       gst/typefind/gsttypefindfunctions.c
+
+LOCAL_SRC_FILES:= $(addprefix ../,$(typefindfunctions_LOCAL_SRC_FILES))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgsttypefindfunctions
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst/typefind              \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                      \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0          \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib \
+       external/libxml2/include
+
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H         -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+#It's a gstreamer plugins, and it must be installed on ..../lib/gstreamer-0.10
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/gstreamer-0.10
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/android/video.mk b/android/video.mk
new file mode 100644 (file)
index 0000000..f03ec55
--- /dev/null
@@ -0,0 +1,65 @@
+LOCAL_PATH:= $(call my-dir)
+#----------------------------------------
+# include 
+gst_video_COPY_HEADERS_TO := gstreamer-0.10/gst/video
+gst_video_COPY_HEADERS_BASE := \
+       gst-libs/gst/video/gstvideofilter.h \
+       gst-libs/gst/video/gstvideosink.h \
+       gst-libs/gst/video/video.h
+gst_video_COPY_HEADERS_ANDROID := \
+       gst-libs/gst/video/video-enumtypes.h
+       
+gst_video_COPY_HEADERS := $(addprefix ../,$(gst_video_COPY_HEADERS_BASE)) \
+                                                 $(addprefix ../android/,$(gst_video_COPY_HEADERS_ANDROID))
+            
+
+include $(CLEAR_VARS)
+
+LOCAL_ARM_MODE := arm
+
+video_LOCAL_SRC_FILES_BASE:= \
+       gst-libs/gst/video/video.c \
+       gst-libs/gst/video/gstvideosink.c \
+       gst-libs/gst/video/gstvideofilter.c     
+video_LOCAL_SRC_FILES_ANDROID:= \
+       gst-libs/gst/video/video-enumtypes.c
+   
+LOCAL_SRC_FILES:= $(addprefix ../,$(video_LOCAL_SRC_FILES_BASE)) \
+                                 $(addprefix ../android/,$(video_LOCAL_SRC_FILES_ANDROID))
+
+LOCAL_SHARED_LIBRARIES := \
+    libgstreamer-0.10       \
+    libgstbase-0.10         \
+    libglib-2.0             \
+    libgthread-2.0          \
+    libgmodule-2.0          \
+    libgobject-2.0
+
+LOCAL_MODULE:= libgstvideo-0.10
+
+LOCAL_C_INCLUDES := \
+    $(LOCAL_PATH)/../gst-libs/gst/video  \
+    $(LOCAL_PATH)/../gst-libs                  \
+    $(LOCAL_PATH)/..                           \
+    $(LOCAL_PATH)                                              \
+       $(LOCAL_PATH)/gst-libs/gst/video    \
+    $(TARGET_OUT_HEADERS)/gstreamer-0.10 \
+       $(TARGET_OUT_HEADERS)/glib-2.0           \
+    $(TARGET_OUT_HEADERS)/glib-2.0/glib  \
+       external/libxml2/include
+
+ifeq ($(STECONF_ANDROID_VERSION),"FROYO")
+LOCAL_SHARED_LIBRARIES += libicuuc 
+LOCAL_C_INCLUDES += external/icu4c/common
+endif
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H        -DGSTREAMER_BUILT_FOR_ANDROID
+#
+# define LOCAL_PRELINK_MODULE to false to not use pre-link map
+#
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_COPY_HEADERS_TO := $(gst_video_COPY_HEADERS_TO)
+LOCAL_COPY_HEADERS := $(gst_video_COPY_HEADERS)
+
+include $(BUILD_SHARED_LIBRARY)