How to handle multiple blocking probe before a muxer without freezing the pipeline?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

How to handle multiple blocking probe before a muxer without freezing the pipeline?

vasconce1o
Hi,
I am trying to save video and audio when an event occurs, but with 10 seconds before the event. So, I put a queue with max-size-time = 10 seconds and leaking = 2 before the audio and another one for the video.

Problems arise when I add a blocking probe to the queue src pad, the pipeline freezes after one of the probe blocks. Perhaps this occurred because the muxer is waiting for the buffer that was blocked. How can I handle this situation?

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

AW: How to handle multiple blocking probe before a muxer without freezing the pipeline?

Thornton, Keith

Hi,

if you want 10 seconds of video max-size alone won’t help you, you also need to set min-threshold-time. Just setting max-size can also mean that the queue can be empty

Gruesse

 

Von: gstreamer-devel <[hidden email]> Im Auftrag von Yuniesky Vasconcelo
Gesendet: Dienstag, 23. Juni 2020 05:08
An: Discussion of the development of and with GStreamer <[hidden email]>
Betreff: How to handle multiple blocking probe before a muxer without freezing the pipeline?

 

Hi,

I am trying to save video and audio when an event occurs, but with 10 seconds before the event. So, I put a queue with max-size-time = 10 seconds and leaking = 2 before the audio and another one for the video.

 

Problems arise when I add a blocking probe to the queue src pad, the pipeline freezes after one of the probe blocks. Perhaps this occurred because the muxer is waiting for the buffer that was blocked. How can I handle this situation?


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to handle multiple blocking probe before a muxer without freezing the pipeline?

vasconce1o
Thank you.

I tried what you told me but it still doesn't work.
The pipe works well when there is only one transmission present, video or audio.
The problem arises when I try to lock on both pads.

I attach the image of the pipeline.

El mar., 23 jun. 2020 a las 3:15, Thornton, Keith (<[hidden email]>) escribió:

Hi,

if you want 10 seconds of video max-size alone won’t help you, you also need to set min-threshold-time. Just setting max-size can also mean that the queue can be empty

Gruesse

 

Von: gstreamer-devel <[hidden email]> Im Auftrag von Yuniesky Vasconcelo
Gesendet: Dienstag, 23. Juni 2020 05:08
An: Discussion of the development of and with GStreamer <[hidden email]>
Betreff: How to handle multiple blocking probe before a muxer without freezing the pipeline?

 

Hi,

I am trying to save video and audio when an event occurs, but with 10 seconds before the event. So, I put a queue with max-size-time = 10 seconds and leaking = 2 before the audio and another one for the video.

 

Problems arise when I add a blocking probe to the queue src pad, the pipeline freezes after one of the probe blocks. Perhaps this occurred because the muxer is waiting for the buffer that was blocked. How can I handle this situation?

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

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

pipeline_PLAY_PAUSED.png (709K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

AW: How to handle multiple blocking probe before a muxer without freezing the pipeline?

Thornton, Keith

Hi,

my solution is not simple, I have an outputselectror followed by a fakesink and the muxer. I set the active output to fakesink and switch it to the muxer when needed. On top of that you need a pad-probe to wait for a keyframe before switching. I’m sure someone else can suggest an easier way.

On top of that, you still need to set max-threshold-time to 10 seconds and when the event arrives set it to 0.

Gruesse

 

Von: gstreamer-devel <[hidden email]> Im Auftrag von Yuniesky Vasconcelo
Gesendet: Dienstag, 23. Juni 2020 20:57
An: Discussion of the development of and with GStreamer <[hidden email]>
Betreff: Re: How to handle multiple blocking probe before a muxer without freezing the pipeline?

 

Thank you.

 

I tried what you told me but it still doesn't work.

The pipe works well when there is only one transmission present, video or audio.

The problem arises when I try to lock on both pads.

 

I attach the image of the pipeline.

 

El mar., 23 jun. 2020 a las 3:15, Thornton, Keith (<[hidden email]>) escribió:

Hi,

if you want 10 seconds of video max-size alone won’t help you, you also need to set min-threshold-time. Just setting max-size can also mean that the queue can be empty

Gruesse

 

Von: gstreamer-devel <[hidden email]> Im Auftrag von Yuniesky Vasconcelo
Gesendet: Dienstag, 23. Juni 2020 05:08
An: Discussion of the development of and with GStreamer <[hidden email]>
Betreff: How to handle multiple blocking probe before a muxer without freezing the pipeline?

 

Hi,

I am trying to save video and audio when an event occurs, but with 10 seconds before the event. So, I put a queue with max-size-time = 10 seconds and leaking = 2 before the audio and another one for the video.

 

Problems arise when I add a blocking probe to the queue src pad, the pipeline freezes after one of the probe blocks. Perhaps this occurred because the muxer is waiting for the buffer that was blocked. How can I handle this situation?

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


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to handle multiple blocking probe before a muxer without freezing the pipeline?

vasconce1o
Thank you.
I will try and share the result.

El mié., 24 jun. 2020 a las 1:30, Thornton, Keith (<[hidden email]>) escribió:

Hi,

my solution is not simple, I have an outputselectror followed by a fakesink and the muxer. I set the active output to fakesink and switch it to the muxer when needed. On top of that you need a pad-probe to wait for a keyframe before switching. I’m sure someone else can suggest an easier way.

On top of that, you still need to set max-threshold-time to 10 seconds and when the event arrives set it to 0.

Gruesse

 

Von: gstreamer-devel <[hidden email]> Im Auftrag von Yuniesky Vasconcelo
Gesendet: Dienstag, 23. Juni 2020 20:57
An: Discussion of the development of and with GStreamer <[hidden email]>
Betreff: Re: How to handle multiple blocking probe before a muxer without freezing the pipeline?

 

Thank you.

 

I tried what you told me but it still doesn't work.

The pipe works well when there is only one transmission present, video or audio.

The problem arises when I try to lock on both pads.

 

I attach the image of the pipeline.

 

El mar., 23 jun. 2020 a las 3:15, Thornton, Keith (<[hidden email]>) escribió:

Hi,

if you want 10 seconds of video max-size alone won’t help you, you also need to set min-threshold-time. Just setting max-size can also mean that the queue can be empty

Gruesse

 

Von: gstreamer-devel <[hidden email]> Im Auftrag von Yuniesky Vasconcelo
Gesendet: Dienstag, 23. Juni 2020 05:08
An: Discussion of the development of and with GStreamer <[hidden email]>
Betreff: How to handle multiple blocking probe before a muxer without freezing the pipeline?

 

Hi,

I am trying to save video and audio when an event occurs, but with 10 seconds before the event. So, I put a queue with max-size-time = 10 seconds and leaking = 2 before the audio and another one for the video.

 

Problems arise when I add a blocking probe to the queue src pad, the pipeline freezes after one of the probe blocks. Perhaps this occurred because the muxer is waiting for the buffer that was blocked. How can I handle this situation?

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

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

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