From: Guenter B. <bar...@st...> - 2001-02-03 03:25:25
|
Hi folks, once again sorry you don't hear much from me - but I can assure you, I'm still alive and I'm working on xine. While I'm not yet ready to commit anything I just wanted to give you a quick briefing about what I've done and what changes will come until my 0.4.0alpha commit: DONE - new audio_out interface, core of it looks like this: /* * audio output modi */ #define AO_MODE_AC3 0 #define AO_MODE_MONO 1 /* 1 sample == 2 bytes */ #define AO_MODE_STEREO 2 /* 1 sample == 4 bytes */ #define AO_MODE_4CHANNEL 3 /* 1 sample == 8 bytes */ #define AO_MODE_5CHANNEL 4 /* 1 sample == 10 bytes */ typedef struct ao_functions_s { /* * find out if desired output mode is supported by * this driver */ int (*is_mode_supported) (int mode); /* * init device - buffer will be flushed(!) */ void (*open)(uint32_t bits, uint32_t rate, int mode); /* * write audio data to output buffer - may block * audio driver must sync sample playback with metronom */ void (*write_audio_data)(int16_t* audio_data, uint32_t num_samples, uint32_t pts); /* * close the audio driver */ void (*close)(void); } ao_functions_t; - changed libmpg123 and libac3 to use new interface - cleaned up libmpg123's interface - made video_out thread-safe - changed xine.c to use threads - xine_loop is gone, seperate video_loop, audio_loop instead - Siggi has implemented the master clock timer functions, I added his code to metronom.c/.h TODO: - finish audio_oss_out to reflect interface changes (90% done) - adapt audio_alsa_out for new interface - get it all to compile - get it all to work - do a cvs update (*uaah* - that'll merge like hell 8-} ) - get it all to compile again - get it all to work again - cvs commit and duck and cover to survive the flames from xine_user about the latest CVS changes ("nothing works!" "xine is broken!" ... ;))) Regards, Guenter |