diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2003-01-11 19:06:52 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2003-01-11 19:06:52 +0000 |
commit | 847cbb1144eae8f185fdc47aaaf1a9e12bfc8de8 (patch) | |
tree | 269256e274f346dc6c5578e56fa983132eb412ba /include | |
parent | 330004fb3f8c479c9619436b15f76dce95e83cbf (diff) | |
download | xine-lib-847cbb1144eae8f185fdc47aaaf1a9e12bfc8de8.tar.gz xine-lib-847cbb1144eae8f185fdc47aaaf1a9e12bfc8de8.tar.bz2 |
introducing a new, very low-impact aproach on implementing a video processing api
CVS patchset: 3875
CVS date: 2003/01/11 19:06:52
Diffstat (limited to 'include')
-rw-r--r-- | include/xine.h.in | 53 |
1 files changed, 51 insertions, 2 deletions
diff --git a/include/xine.h.in b/include/xine.h.in index 448403019..b5b1044bf 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.h.in,v 1.50 2002/12/29 14:04:43 mroi Exp $ + * $Id: xine.h.in,v 1.51 2003/01/11 19:06:52 guenter Exp $ * * public xine-lib (libxine) interface and documentation * @@ -275,10 +275,59 @@ int xine_get_current_frame (xine_stream_t *stream, * these functions are intended to provide the basis for * re-encoding and other video processing applications * - * warning: experimental + * warning: highly experimental * */ + +xine_video_port_t *xine_new_framegrab_video_port (xine_t *self); + +typedef struct { + + int64_t vpts; /* timestamp 1/90000 sec for a/v sync */ + int64_t duration; + int width, height; + int colorspace; /* XINE_IMGFMT_* */ + double aspect_ratio; + + int pos_stream; /* bytes from stream start */ + int pos_time; /* milliseconds */ + + uint8_t *data; + void *xine_frame; /* used internally by xine engine */ +} xine_video_frame_t; + +int xine_get_next_video_frame (xine_video_port_t *port, + xine_video_frame_t *frame); + +void xine_free_video_frame (xine_video_port_t *port, xine_video_frame_t *frame); + +xine_audio_port_t *xine_new_framegrab_audio_port (xine_t *self); + +typedef struct { + + int64_t vpts; /* timestamp 1/90000 sec for a/v sync */ + int num_samples; + int sample_rate; + int num_channels; + int bits_per_sample; /* per channel */ + + off_t pos_stream; /* bytes from stream start */ + int pos_time; /* milliseconds */ + + uint8_t *data; + void *xine_frame; /* used internally by xine engine */ +} xine_audio_frame_t; + +int xine_get_next_audio_frame (xine_audio_port_t *port, + xine_audio_frame_t *frame); + +void xine_free_audio_frame (xine_audio_port_t *port, xine_audio_frame_t *frame); + + /* + * maybe future aproach: + */ + int xine_get_video_frame (xine_stream_t *stream, int timestamp, /* msec */ int *width, int *height, |