[Flac-dev] Updating metadata while encoding
    Olivier Guilyardi 
    list at samalyse.com
       
    Thu Jun  3 04:58:26 PDT 2010
    
    
  
On 05/28/2010 04:38 PM, Olivier Guilyardi wrote:
> Hi,
> 
> I am working on an application which records directly into a FLAC file. For this
> purpose I'm using the FLAC stream encoder interface.
> 
> It works fine, but if my application is killed during encoding, the metadata is
> not being updated since the file isn't closed properly by calling
> FLAC__stream_encoder_finish().
> 
> Thus when opening the file afterwards for playback, it is possible to decode
> audio data but the FLAC__StreamMetadata.data.stream_info.total_samples field is
> equals to zero.
> 
> This is a true problem because it looks like data loss to the user, especially
> if he/she's been recording for hours...
> 
> So I'm looking for a way to update the metadata periodically during encoding,
> before calling FLAC__stream_encoder_finish().
> 
> Is this possible?
For the records, I ended up with adding FLAC__stream_encoder_flush(), as shown
in the attached diff.
It's certainly not perfect, for instance it won't work for the OGG container.
But it apparently works for me.
--
  Olivier
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: encoder_flush.diff
Url: http://lists.xiph.org/pipermail/flac-dev/attachments/20100603/0f30f265/attachment.txt 
    
    
More information about the Flac-dev
mailing list