EOS message is not received

Hi,

I have used android tutorial-3 to build a pipeline that display and record at the same time.

pipeline_video = “udpsrc buffer-size=50000 port=5478 ! application/x-rtp,payload=96 ! rtpjitterbuffer latency=300 ! rtph264depay ! tee name=t t. ! queue ! h264parse ! mp4mux ! filesink name=fdisk async=false location=/storage/emulated/0/Download/test.mp4 t. ! queue ! decodebin ! videoconvert ! autovideosink sync=false”

the issue is that the generated file is not playable due to missing EOS. I have searched to find a solution for this but really couldn’t reach anywhere.
1- send EOS in the gst_native_finalize (before and after quitting the main loop):

gst_element_send_event(data->pipeline_video, gst_event_new_eos());
GstMessage *msg;
msg = gst_bus_timed_pop_filtered(gst_element_get_bus(data->pipeline_video),
                                     2 * GST_SECOND, 
                                     (GstMessageType) (GST_MESSAGE_ERROR | GST_MESSAGE_EOS));

2- tried to send eos directly to mp4mux/fliesink, it gives me errors.
3- tried this one also

/* tell pipeline to forward EOS message from filesink immediately and not
     * hold it back until it also got an EOS message from the video sink */
    g_object_set(data->pipeline_video, "message-forward", TRUE, NULL);

for some reason EOS is not reaching the pipeline, i tried to catch the messages everywhere in element, eos … nothing received

the file is in:

i would appreciate any hint

You might be hitting this bug? Please try the patch and let us know. This code needs a unit test to be merged.

thanks for the hint but I’m developing on android so i do not know how to prepare the gstreamer universal binaries with this patch.

Build using Cerbero, it will create the Android binaries for you from my understanding.

still facing this issue even with the latest 1.25.90 version