[gst-devel] HELP: Link "wavparse" to "audioconvert" has error.

Freeman Zhang pcman.zhang at gmail.com
Mon Nov 2 11:37:45 CET 2009


HI

Please help me.
When I link "wavparse" to the "audioconvert" it is failed. but if I use
"mad", it will success.

I have ran it from the command line:
"gst-launch filesrc location=./media/login.wav ! wavparse ! audioconvert !
audioresample ! alawenc ! rtppcmapay" it is ok.

I don't know why it failed, please help me, how can I can the error details?

Thanks in advance.

Freeman

P.S the source code:

  // Source "filesrc ! wavparse ! audioconvert "
  GstElement* src = gst_element_factory_make("filesrc", "src");
  SET(src, "location", cmd->filename);

  printf("File = %s\n", cmd->filename);

  // Parse
  GstElement* parse = NULL;
  switch (cmd->filetype)
  {
  case EWAVE:
   printf("Using wav parser\n");
   parse = gst_element_factory_make("wavparse", "parse");
   break;
  case EMP3:
   printf("Using mp3 parser\n");
   parse = gst_element_factory_make("mad", "parse");
   break;
  default:
   break;
  }

  // Converter
  GstElement* convert = gst_element_factory_make("audioconvert", "con");

  // Audio Sample
  GstElement* sample = gst_element_factory_make("audioresample", "sample");

  // The Package Format
  GstElement* encoder = NULL;
  GstElement* payload = NULL;

  switch (cmd->codec)
  {
  case EG711:
   encoder = gst_element_factory_make("alawenc", "encoder");
   payload = gst_element_factory_make("rtppcmapay", "payload");
   break;

  default:
   break;
  }

  // Link source and converter
  gst_bin_add_many(GST_BIN (pipeline), src, parse, convert,
   sample, encoder, payload, NULL);

  res = gst_element_link_many(src, parse, convert, sample, encoder, payload,
NULL);
  g_assert(res == TRUE);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20091102/162f22ac/attachment.htm>


More information about the gstreamer-devel mailing list