custom pipeline on android
Dani
dmr.dev.rdp at gmail.com
Mon Apr 18 10:46:16 UTC 2016
Thanks for your suggestions, I have just used gdb for debugging and I am
quite confident it is related to dynamically linking pads.
This is the log and the info I am getting through gdb (+attached
screenshot):
DEVICE SHELL COMMAND: cat /data/local/tmp/start_lldb_server.sh |
run-as com.sample.app sh -c 'cat >
/data/data/com.sample.app/lldb/bin/start_lldb_server.sh; chmod 700
/data/data/com.sample.app/lldb/bin/start_lldb_server.sh'
Starting LLDB server: run-as com.sample.app
/data/data/com.sample.app/lldb/bin/start_lldb_server.sh
/data/data/com.sample.app/lldb
/data/data/com.sample.app/lldb/tmp/platform-1460975640887.sock "lldb
process:gdb-remote packets"
Now Launching Native Debug Session
Debugger attached to process 27496
Signal: SIGSEGV (signal SIGSEGV: invalid address (fault address:
0x37ea6cf7))
In the logcat I am still having the same messages as in the first post.
Is there any other possible way to pass the pointer without this
reference problem?
Thanks in advance
Dani
El 18/04/16 a las 09:15, Sebastian Dröge escribió:
> On Fr, 2016-04-15 at 11:35 +0200, Dani wrote:
>> Hi everyone,
>> I am trying to play a custom pipeline able to play mp4 files on android. So my first step has been checking that this pipeline works correctly by using gst-launch-1.0 in the terminal (ubuntu14.04):
>>
>> gst-launch-1.0 souphttpsrc location=http://192.168.0.10/videos/test.mp4 ! qtdemux name=demux demux. ! queue ! aacparse ! faad ! autoaudiosink demux. ! queue ! h264parse ! avdec_h264 ! autovideosink
>> My next step has been using the tutorial5 example for android project. And the modifications that I have made are the ones I show here:
>>
>> [...]
>> 04-15 11:30:24.987 21178-21230/com.sample.app I/GLib+stdout: In dynamic ADDING PAD video_0
>> 04-15 11:30:24.987 21178-21230/com.sample.app A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x1 in tid 21230 (src:src)
> Run this in a native debugger (e.g. gdb) and see where exactly it
> crashes and why.
>
> Judging from your code, the problem could be here:
> g_signal_connect (data->demux, "pad-added", G_CALLBACK (dynamic_addpad), &data);
>
> You pass a pointer to your data pointer in there, and then later use it
> just like a normal pointer in the callback. That's not going to work
> well, especially as &data is going to be an invalid reference on the
> stack after the function where you connect the signal has returned.
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160418/47c0bd4a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screenshot1
Type: image/png
Size: 44243 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160418/47c0bd4a/attachment-0001.png>
More information about the gstreamer-devel
mailing list