GstPadProbeInfo seems to show inconsistent structure field length or location - gulong / crash
Hi, I started learning gstreamer a week ago by following the tutorial programs on gstreamer.freedesktop.org.
This exact program I basically copied and pasted the one from "Pipe Manipulation" tutorial sample program.
However, I always run into problem with pad_proble - not able to access the appropriate GstPadProbeInfo internal fields when receiving a signal back and crash my apps. I was using v1.15.90 and started the problem. Today I upgraded to 1.16, still problem.
So I dump the content of GstPadProbeInfo received in callback with this function,
Windows 10, X86_64, G_LITTLE_ENDIAN
See app16.txt for the dump() function codes & output.
Somehow the text cut & paste from Windows keep losing carriage-return, so I put the codes & output in app16.txt - easier to read.
Here is my humble view, please comment or correct me please,
- The pad_proble ID is 1, but application read 324d480 bcs id field is gulong (8-byte) in apps.
But from mem dump, the "1" is stored as uint (4-byte). So the gstreamer dll treats id field as uint?
- the data field
reference with gst_pad_probe_info_get_buffer (info) gives correct 324d480 (by dll)
reference with info->data, gives FFFFFFFFFFFFFFFF, by application, which is also kinda correct - 3rd 64-bits field
So is it possible that somehow the dll was compiled with sizeof(gulong) == 4 or something?
or, I need to #define memory compacting since this is a CISC processor?
The gstreamer I installed areapp16.txt
p.s. I closed the #385, bcs the posted text keep getting condensed.