Pantonaut
Pantonaut

Reputation: 191

Why does my GStreamer-based C++ application not produce any log output, but gst-tools like "gst-launch" do?

After reading every thread and guide to GStreamer debugging I am still stuck with my problem.

Setting the debug level to GST_DEBUG=*:3 (or any other level) leads to log perfect output when using the gst-tools (e.g. gst-launch-1.0 for testing a certain pipeline), even GST_DEBUG_FILE=filename.txt works.

My problem: My own application that uses GStreamer-stuff a lot does not produce any debug output at all when using the same settings above, any ideas?

Setup: Ubuntu 14-4, Gstreamer 1.0

Upvotes: 0

Views: 1934

Answers (2)

Saeed Masoomi
Saeed Masoomi

Reputation: 1834

For anyone who runs into this problem, there is a helpful comment in the code:

The macro is only active if gstreamer is configured with "--gst-enable-gst-debug" and the environment variable
GST_DEBUG_DUMP_DOT_DIR is set to a basepath (e.g. /tmp).

Therefore, you should set GST_DEBUG_DUMP_DOT_DIR to a specific directory.

Ubuntu : If you want to know the value of GST_DEBUG_DUMP_DOT_DIR:

$ echo $GST_DEBUG_DUMP_DOT_DIR

If the result is empty then you can set it on the terminal using the below line:

$ export GST_DEBUG_DUMP_DOT_DIR=path/to/save/dot/file

and then run your program from the same terminal, or you can set the variable in the /.bashrc file.

second solution

This export can be placed in the main function of our C file:

int main(int argc, char *argv[]) {

    putenv("GST_DEBUG_DUMP_DOT_DIR=/tmp");
    .
    .
    .
}

Upvotes: 2

Pantonaut
Pantonaut

Reputation: 191

Problem solved: I did start my application with sudo, overwriting my entire environment.

Upvotes: 0

Related Questions