Mercurial > mplayer.hg
view mp3lib/mp3.h @ 32794:77d81e27a176
Fix stream_write_buffer to make sure all requested bytes are written
None of the calling sites to stream_write_buffer are checking the
return value to see if all bytes got written.
This was causing (very occasionally) problems with mencoder when using output
pipes AND running under a sandbox or when being straced (ptrace is the culprit)
Theoretically this problem can happen without pipes or ptrace.
Only stream_file, stream_smb and stream_ffmpeg implement
write_buffer and ffmpeg already handles this internally.
Original patch by Sang-Uok Kum.
Signed-off-by: Tobias Diedrich <ranma@google.com>
author | ranma |
---|---|
date | Thu, 10 Feb 2011 21:25:38 +0000 |
parents | 257ef2adfd66 |
children |
line wrap: on
line source
/* MP3 Player Library 2.0 (C) 1999 A'rpi/Astral&ESP-team */ #ifndef MPLAYER_MP3LIB_MP3_H #define MPLAYER_MP3LIB_MP3_H /* decoder level: */ #ifdef CONFIG_FAKE_MONO void MP3_Init(int fakemono); #else void MP3_Init(void); #endif int MP3_Open(char *filename, int buffsize); void MP3_SeekFrame(int num, int dir); void MP3_SeekForward(int num); int MP3_PrintTAG(void); int MP3_DecodeFrame(unsigned char *hova, short single); int MP3_FillBuffers(void); void MP3_PrintHeader(void); void MP3_Close(void); /* public variables: */ extern int MP3_eof; // set if EOF reached extern int MP3_pause; // lock playing /* informational: */ extern int MP3_filesize; // filesize extern int MP3_frames; // current frame no extern int MP3_fpos; // current file pos extern int MP3_framesize; // current framesize in bytes (including header) extern int MP3_bitrate; // current bitrate (kbits) extern int MP3_samplerate; // current sampling freq (Hz) extern int MP3_channels; extern int MP3_bps; /* player level: */ int MP3_OpenDevice(char *devname); /* devname can be NULL for default) */ void MP3_Play(void); void MP3_Stop(void); void MP3_CloseDevice(void); #endif /* MPLAYER_MP3LIB_MP3_H */