mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-29 19:50:40 +00:00
41fafb9aec
Original commit message from CVS: fix validation
153 lines
5.2 KiB
XML
153 lines
5.2 KiB
XML
<sect1 id="chapter-troubleshooting">
|
|
<title id="title-troubleshooting">Troubleshooting GStreamer</title>
|
|
<qandaset>
|
|
|
|
<qandaentry>
|
|
<question id="troubleshooting-missing-plug-in">
|
|
<para>
|
|
Some application is telling me that I am missing a plug-in. What do I do ?
|
|
</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
Well, start by checking if you really are missing the plug-in.
|
|
<programlisting>
|
|
gst-inspect (plug-in)
|
|
</programlisting>
|
|
and replace (plug-in) with the plug-in you think is missing.
|
|
If this doesn't return any result, then you either don't have it or your
|
|
registry cannot find it.
|
|
</para>
|
|
<para>
|
|
If you're not sure either way, then chances are good that you don't have
|
|
it. You should get the plug-in and run gst-register to register it.
|
|
How to get the plug-in depends on your distribution.
|
|
<itemizedlist>
|
|
<listitem><para>if you run GStreamer using packages for your distribution, you
|
|
should check what packages are available for your distribution and see
|
|
if any of the available packages contains the plug-in.
|
|
</para></listitem>
|
|
<listitem><para>if you run GStreamer from a source install, there's a good chance
|
|
the plug-in didn't get built because you are missing an external library.
|
|
When you ran configure, you should have gotten output of what plug-ins are
|
|
going to be built. You can re-run configure to see if it's there.
|
|
If it isn't, there is a good reason why it is not getting built.
|
|
The most likely is that you're missing the library you need for it.
|
|
Check the README file in gst-plugins to see what library you need.
|
|
Make sure to remember to re-run configure after installing the supporting
|
|
library !
|
|
</para></listitem>
|
|
<listitem><para>
|
|
if you run GStreamer from CVS, the same logic applies as for a source install.
|
|
Go over the reasons why the plug-in didn't get configured for build.
|
|
Check output of config.log for a clue as to why it doesn't get built if
|
|
you're sure you have the library needed installed in a sane place.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="troubleshooting-old-plug-ins">
|
|
<para>
|
|
I get an error that says something like
|
|
|
|
(process:26626): GLib-GObject-WARNING **: specified instance size for type
|
|
`DVDReadSrc' is smaller than the parent type's `GstElement' instance size
|
|
What's wrong ?
|
|
</para>
|
|
</question>
|
|
|
|
<answer>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="troubleshooting-segfault">
|
|
<para>
|
|
The GStreamer application I used stops with a segmentation fault. What can
|
|
I do ?
|
|
</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
There are two things you can do. If you compiled GStreamer with specific
|
|
optimization compilation flags, you should try recompiling GStreamer,
|
|
the application and the plug-ins without any optimization flags. This allows
|
|
you to verify if the problem is due to optimization or due to bad code.
|
|
Second, it will also allow you to provide a reasonable backtrace in case
|
|
the segmentation fault still occurs.
|
|
</para>
|
|
<para>
|
|
The second thing you can do is look at the backtrace to get an idea of where
|
|
things are going wrong, or give us an idea of what is going wrong.
|
|
To provide a backtrace, you should
|
|
<orderedlist>
|
|
<listitem><para>
|
|
run the application in gdb by starting it with
|
|
<programlisting>
|
|
gdb (gst-application)
|
|
</programlisting>
|
|
(If the application is in a source tree instead of installed on the system,
|
|
you might want to put "libtool" before "gdb")
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Pass on the command line arguments to the application by typing
|
|
<programlisting>
|
|
set args (the arguments to the application)
|
|
</programlisting>
|
|
at the (gdb) prompt
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Type "run" at the (gdb) prompt and wait for the application to
|
|
segfault. The application will run a lot slower, however.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
After the segfault, type "bt" to get a backtrace. This is a stack of
|
|
function calls detailing the path from main () to where the code is
|
|
currently at.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
If the application you're trying to debug contains threads, it is also
|
|
useful to do
|
|
<programlisting>
|
|
info threads
|
|
</programlisting>
|
|
and get backtraces of all of the threads involved, by switching to
|
|
a different thread using "thread (number)" and then again requesting
|
|
a backtrace using "bt".
|
|
</para></listitem>
|
|
<listitem><para>
|
|
If you can't or don't want to work out the problem yourself, a copy and paste
|
|
of all this information should be included in your
|
|
<link linkend="using-bugs-where">bug report</link>.
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="troubleshooting-wiki">
|
|
<para>
|
|
I'm having problems building or installing GStreamer. What should I do ?
|
|
</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
We've started a step-by-step
|
|
<ulink url="http://gstreamer.net/wiki/?DichotomousKey">
|
|
troubleshooting guide</ulink>.
|
|
Look there before asking, your problem might already have been solved by
|
|
someone else.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
</sect1>
|