[Bug 732945] encodebin creates unplayable m4a files

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jul 9 07:46:47 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=732945
  GStreamer | gst-plugins-base | 2.x

--- Comment #3 from Phillip Wood <phillip.wood at dunelm.org.uk> 2014-07-09 14:46:45 UTC ---
(In reply to comment #2)
> > In your own application you would implement the same by first sending on EOS
> > event to the pipeline, then waiting for the EOS message from the pipeline...
> > and only then shut down the pipeline (i.e. set it to READY or NULL state).
> 
> Thanks, I'll have a look, I thought we got an EOS message at the end of each
> track which we listen for to shut down the pipeline but I need to check exactly
> what's happening there.

At the moment sound-juicer does
  priv->pipeline = gst_pipeline_new ("pipeline");
  bus = gst_element_get_bus (priv->pipeline);
  gst_bus_add_signal_watch (bus);
  g_signal_connect (bus, "message::eos", G_CALLBACK (eos_cb), extractor);
/* create pipeline elelments, add them to the pipeline and link them */
  state_ret = gst_element_set_state (priv->pipeline, GST_STATE_PLAYING);

in eos_cb it does
  gst_element_set_state (priv->pipeline, GST_STATE_NULL);

So it sets the pipeline to GST_STATE_PLAYING and waits for the eos message at
the end of the track and then sets the pipeline state to GST_STATE_NULL. I'm
not sure what should it be doing differently as it only sets the pipeline to
GST_STATE_NULL when it gets an eos message so surely the pipeline should shut
down properly and the MP4 file headers written?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list