<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
Hello Gstreamer community!</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
<br>
</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
We are using gstreamer in our company to acquire 3 video streams from an custom made hardware. </div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
This hardware consists out of 3 image sensors. 2 sensors have a relatively low resolution of 324*324 and one has an resolution of 1920*1080.</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
All images get via an fpga into a structure. this structure is transmitted via a usb 3.0 chip (fx3) to the pc. </div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
<br>
</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
If i read this frames with a small c tool, using libusb, i get exactly the desired frame rate of 25 frames per second. (all cameras a synchronist)</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
<br>
</div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
Now i want to feed this imagestream into gstreamer. </div>
<div style="margin: 0px; font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif">
Therefor i have 2 gstreamer elements:</div>
<div style="margin: 0px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; color: rgb(51, 51, 51)">
<ul>
<li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="margin: 0px; font-size: 12pt"><b>source</b>: hardware access with libusb,<span> </span></span>synchronisation and ensures that the frames are compete and valid.</font></li><li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><b>demuxer</b>: splits the raw frames into 3 different source pads </font><br>
</li></ul>
<div style="margin: 0px">In my testsetup i use fpsdisplaysink to determine the framerate. </div>
<div style="margin: 0px"><br>
</div>
<div style="margin: 0px">If i start the pipeline i get ~25 fps for the smale cameras and 3-10 fps on the big camera, and a lot of drooped buffers :-)</div>
<div style="margin: 0px"><br>
</div>
<div style="margin: 0px">If i operate the big camera with a resolution of 960*540 i don't have this problem.</div>
<div style="margin: 0px"><br>
</div>
<div style="margin: 0px">In the source element i use "gst_base_src_set_format(GST_BASE_SRC(src), GST_FORMAT_TIME)" and in the demuxer i use</div>
<div style="margin: 0px">```</div>
<div style="margin: 0px">guint64 vid_duration = gst_util_uint64_scale_int (1, GST_SECOND, 25);</div>
<div style="margin: 0px">GST_BUFFER_PTS(xxx) = filter->vid_timestamp;</div>
<div style="margin: 0px">GST_BUFFER_DURATION (xxx) = vid_duration;</div>
<div style="margin: 0px">filter->vid_timestamp += vid_duration;</div>
<div style="margin: 0px">```</div>
<div style="margin: 0px"><br>
</div>
<div style="margin: 0px">Anyone a idea why this happens?</div>
<div style="margin: 0px"><br>
</div>
<div style="margin: 0px"><span style="margin: 0px">Cheers,<br>
</span>Josef </div>
</div>
<div style="">
<div></div>
</div>
</body>
</html>