<div dir="ltr"><div><br></div><div>Hi all,</div><div><br></div><div>I'm having a problem on Windows with Python bindings and I'd be happy if someone could spare some time helping me on this (please see more logs at the very end) cryptic error message,</div><div><br></div><div><pay0> avcC too small<br></div><div><br></div><div>After I get this Python interpreter crashes. I tried to trace it in the source and had a look at this gstrtph264pay.c file but all I got was that rtph264pay is unhappy with the definition of incoming RTP stream but I can't see what is wrong.</div><div><br></div><div>My stream definition is,</div><div><br></div><div>rtpbin name=rtpbin udpsrc port=5556 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96 ! rtph264depay ! rtph264pay name=pay0 pt=96<br></div><div><br></div><div>I'm feeding this with an RTP stream generated using FFmpeg. I'm on Windows 7 with Python 2.7.10, GStreamer 1.5.90, and PyGI 3.14.0 AIO (which says "gstreamer 1.4.5 + 220 plugins", any chances of a mismatch with my GStreamer installation?). And here is a minimal code to reproduce the issue,</div><div><br></div><div>############################# <rtsp.py> ###############################</div><div><div>import gi, sys, os</div><div>from gi.repository import Gst, GLib, GstRtspServer, GObject</div><div>os.environ["GST_DEBUG"] = "4"</div><div>gi.require_version('Gst', '1.0')</div><div><br></div><div>Gst.init(None)</div><div><br></div><div>server = GstRtspServer.RTSPServer()</div><div>server.set_service("8085")</div><div><br></div><div>factory = GstRtspServer.RTSPMediaFactory()</div><div>factory.set_launch("rtpbin name=rtpbin udpsrc port=5556 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96 ! rtph264depay ! rtph264pay name=pay0 pt=96")</div><div><br></div><div>server.get_mount_points().add_factory('/test', factory)</div><div>server.attach()</div><div><br></div><div>GLib.MainLoop().run()</div></div><div><div>############################# </rtsp.py> ###############################</div><div></div></div><div><br></div><div>And some more logs,</div><div><br></div><div><div>0:00:23.641381601 6588 02A56C40 INFO GST_EVENT gstevent.c:678:gst_event_new_caps: creating caps event video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0164001fffe200176764001facb2018026d0800000030080000019478c192400176764001facb201</div><div>0:00:23.642396085 6588 02A56C40 ERROR rtph264pay gstrtph264pay.c:565:gst_rtp_h264_pay_setcaps:<pay0> avcC too small</div><div>0:00:23.820272505 6588 02A56C40 INFO GST_EVENT gstevent.c:759:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999</div><div>0:00:23.822253578 6588 02A56C40 ERROR rtph264pay gstrtph264pay.c:565:gst_rtp_h264_pay_setcaps:<pay0> avcC too small</div><div>0:00:23.823243804 6588 02A56C40 ERROR rtph264pay gstrtph264pay.c:565:gst_rtp_h264_pay_setcaps:<pay0> avcC too small</div><div>0:00:23.823996425 6588 02A56C40 WARN basesrc gstbasesrc.c:2933:gst_base_src_loop:<udpsrc0> error: Internal data flow error.</div><div>0:00:23.824729453 6588 02A56C40 WARN basesrc gstbasesrc.c:2933:gst_base_src_loop:<udpsrc0> error: streaming task paused, reason not-negotiated (-4)</div></div><div><br></div><div>As a side note, this works just fine on my Linux box. Versions of rtph264pay by gst-inspect-1.0,</div><div><br></div><div>Linux:</div><div><div>Plugin Details:</div><div> Version 1.4.5<br></div></div><div><br></div><div>Windows:</div><div><div>Plugin Details:</div><div> Version 1.5.90<br></div><div><br></div></div><div>Any ideas how to proceed or debug? Please feel free to ask further information.</div><div><br></div><div>Cheers,</div><div><br></div><div><div class="gmail_signature">-- Baris</div></div>
</div>