[icecast-dev] PATCH: Faststart implementation

Ricardo Galli gallir at uib.es
Sat Jan 18 19:25:46 PST 2003



On Sunday 19 January 2003 04:11, Ricardo Galli shaped the electrons to 
shout:
> ¿How would you implement/hide it to lower layers?
> ¿Add a "plugin->get_serialno" in format_xxx.c and then do something
> like "if (source->format->has_predata) -> ...
> source->format->get_serialno(refbuf); ..." for example?

I meant something like:

  /* do we have any faststart buffer?
   * if so, add them to the client queue
   */
  current_serialno = source->format->get_serialno(client->queue);
  faststartbuf_queue = source->faststart_queue;
  while (faststartbuf_queue) {
    if(source->format->get_serialno(faststartbuf_queue) ==
              current_serialno) {
      refbuf_addref(faststartbuf_queue->refbuf);
      refbuf_queue_add(&client->queue, faststartbuf_queue->refbuf);
      faststartbuf_queue = faststartbuf_queue->next;
    }
  }

<p>get_serialno() in format_mp3.c should return always 0, for example. Or we 
can check if the pointer source->format->get_serialno == NULL,  or that 
stream _has_ predata.


-- 
  ricardo galli       GPG id C8114D34

--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.




More information about the Icecast-dev mailing list