用GStreamer分割故障

用GStreamer分割故障,gstreamer,mpeg,Gstreamer,Mpeg,我正在使用gst_mpegts_section_get_pat读取pat表,但这会引发分段错误。我正在传递一个要读取的ts文件。我用了所有的逻辑和我能想到的一切,但我无法找到它。代码片段如下所示。顺便说一句,我采取了大部分的代码形式 您确定正确使用了API吗?dump_pat需要一个定义的结构作为参数,而不是TS文件,cf gst libs/gst/mpegts/gstmpegtssection.h: 请看一下Gstreamer的和。除非您提供一个人们可以实际执行的最小测试用例,否则您可能不太可

我正在使用gst_mpegts_section_get_pat读取pat表,但这会引发分段错误。我正在传递一个要读取的ts文件。我用了所有的逻辑和我能想到的一切,但我无法找到它。代码片段如下所示。顺便说一句,我采取了大部分的代码形式


您确定正确使用了API吗?dump_pat需要一个定义的结构作为参数,而不是TS文件,cf gst libs/gst/mpegts/gstmpegtssection.h:


请看一下Gstreamer的和。

除非您提供一个人们可以实际执行的最小测试用例,否则您可能不太可能在这里得到答案。也就是说,我不认为任何gstreamer开发者在这里闲逛,你可能会在gstreamer邮件列表或irc.freenode.net上的gstreamer频道上有更好的运气。好的,先生,谢谢你的帮助:
static void dump_pat (GstMpegTsSection * section)
{
 printf ("dumb_pet \n");
 int i, len;
 GPtrArray *pat;

         pat = gst_mpegts_section_get_pat (section);
         len = pat->len;
         g_printf (" %d program(s):\n", len);

         for (i = 0; i < len; i++) {
             GstMpegTsPatProgram *patp = g_ptr_array_index (pat, i);

             g_print
                 (" program_number:%6d (0x%04x), network_or_program_map_PID:0x%04x\n",
                  patp->program_number, patp->program_number,
                  patp->network_or_program_map_PID);
         }

         g_ptr_array_unref (pat);

}
typedef struct _GstMpegTsSection GstMpegTsSection;