understanding

James Linder jam at tigger.ws
Thu Sep 16 04:33:38 UTC 2021


void handler (int signum)
{
    g_print ("[handler function]\npost EOS\n");

    //post EOS message to pipe line
    gst_element_send_event (pipeline, gst_event_new_eos ());

    //block until EOS is detected
    g_print ("waiting for message answer\n");
    gst_bus_timed_pop_filtered (gst_element_get_bus(pipeline), GST_CLOCK_TIME_NONE, GST_MESSAGE_EOS);
    g_print ("exit\n");
    exit (0);
}

dvr at ws115:~> ffprobe Channel2.16Sep2021.114553.mp4 2>&1 |tail -n 2
  libpostproc    55.  9.100 / 55.  9.100
Channel2.16Sep2021.114553.mp4: No such file or directory
dvr at ws115:~> ffprobe Channel2.16Sep2021.114559.mp4 2>&1 |tail -n 2
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]

dvr at ws115:~> ffprobe Channel1.16Sep2021.114559.mp4 2>&1 |tail -n 2
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x562b90f0a600] moov atom not found
Channel1.16Sep2021.114553.mp4: Invalid data found when processing input

dvr at ws115:~> cat /var/log/dvr/gstreamer1.log
[handler function]
post EOS
waiting for message answer

dvr at ws115:~> cat /var/log/dvr/gstreamer2.log
[handler function]
post EOS
waiting for message answer

Since ‘exit’ is not printed the process is being killed BEFORE my exit and EOS message, the handler is not behaving as I expect.
Is my understanding wrong?
James


More information about the gstreamer-devel mailing list