Regarding pad push return FLUSHING, EOS, NOT-NEGOTIATED

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

Regarding pad push return FLUSHING, EOS, NOT-NEGOTIATED

DeepakRohan
Hi,

I am currently switching audio tracks in an audio file with different audio formats (The file which I am using has audio_0: AC-3, audio_1: AAC). Currently working on a MP4 file having multiple audio streams/tracks.
1. I do switching from Audio #0 --> #1.
2. I do switching from Audio #1 --> #0.
3. I do switching from Audio #0 --> #1.
4. I do switching from Audio #1 --> #0.

I get the "Got ERROR: Internal data flow error." on switching.check_last_log.check_last_log
I get the above sometimes while switching for the first time. But now consistently i am getting the issue on the fourth switch.
After activating the target audio pad, I check the caps of the pad in the pad_activate function. It is the caps of the target audio track only - "Seems Fine till here".
After that I get the error and the playback exits.

On debugging I found out that while pushing stream-start event from audio_switch:src to audio-queue:sink, the return is either GST_FLOW_EOS/GST_FLOW_NOT_NEGOTIATED which after few logs leads to GST_FLOW_FLUSHING on the gst_pad_push buffer api.

The problem is that the issue I face does not have the same pattern.
I could not attach complete log. I have attached from the part where I add probe on my audio-queue:src pad and then perform switching.

Please can anyone clear my doubt of what and where is the issue, because the same code works for a file with 8 aac audio streams.
Also Is it OK if I get GST_FLOW_FLUSHING error and the playback being continued even after that issue.

Thank You In Advance