Hi Chris,

Have you tried the Standard C libflac option? Not that I have anything against 
the C++ flavor, but I've only ever worked with the C API, to keep things 
simple. Sorry for the brief response, but I wanted to reply quickly.

Brian


On Dec 12, 2017, at 1:51 PM, Chris Barrett <cbarrett.c...@gmail.com> wrote:
> I'm trying to use libflac++ on a live internet audio stream.  I don't see 
> anything mentioned in the documentation that suggests this should not be 
> possible, so I hope I'm not chasing down the wrong path (two weeks in).
> 
> The encoder seems to be working fine and creates data for the write_callback, 
> which I have coded to packetize that data and send it across the network.
> 
> The question is how the decoder at the receiver should operate.  Ideally, 
> when a packet arrives, it can be fed to the decoder.  When the decoder has 
> enough data for a new uncompressed frame, it returns one.
> 
> But the decoder API does not seem setup for this type of synchronous 
> operation.  When a packet arrives, I'm trying to call process_single_frame 
> and then supply the packet data in the read_callback.  It takes the data but 
> always calls the read_callback again for more data.  It does call 
> error_callback (status == 0) once, but never write_callback.  So, I'm 
> guessing that the packet does not have enough data for a frame.
> 
> So, I tried queueing write_callbacks at the encoder before packetizing it and 
> sending it.  It seems like encoder init causes three write_callbacks that 
> make up the metadata, and then each call to process causes one write_callback 
> that is presumably the frame data.  The documentation states that one cannot 
> rely on this, but I can't see any other choice.  Just to be safe, I let the 
> metadata and the first four frames queue up before sending it.  Still the 
> decoder asks for more data when I call process_single_frame with this data 
> and never calls write_callback.  I don't have the decoder meta callback 
> installed, but could try that to test if it is at least decoding the metadata.
> 
> Any help is greatly appreciated.
> 
> Thanks,
> Chris
> 
_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to