dropped buffers after demuxer

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

dropped buffers after demuxer

Josef Sommerauer | viewpointsystem
Hello Gstreamer community!

We are using gstreamer in our company to acquire 3 video streams from an custom made hardware. 
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.
All images get via an fpga into a structure. this structure is transmitted via a usb 3.0 chip (fx3) to the pc. 

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)

Now i want to feed this imagestream into gstreamer. 
Therefor i have 2 gstreamer elements:
  • source: hardware access with libusb, synchronisation and ensures that the frames are compete and valid.
  • demuxer: splits the raw frames into 3 different source pads 
In my testsetup i use fpsdisplaysink to determine the framerate. 

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 :-)

If i operate the big camera with a resolution of 960*540 i don't have this problem.

In the source element i use "gst_base_src_set_format(GST_BASE_SRC(src), GST_FORMAT_TIME)" and in the demuxer i use
```
guint64 vid_duration = gst_util_uint64_scale_int (1, GST_SECOND, 25);
GST_BUFFER_PTS(xxx) = filter->vid_timestamp;
GST_BUFFER_DURATION (xxx) = vid_duration;
filter->vid_timestamp += vid_duration;
```

Anyone a idea why this happens?

Cheers,
Josef 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel