summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_decoder.c
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-12-21 12:56:44 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-12-21 12:56:44 +0000
commit5f31761a4fa6995592cdd536c52f6ddac8151a89 (patch)
treeaeec46d8f80b411df280cc2cc6bc124c2dbd6756 /src/xine-engine/video_decoder.c
parenteafb4f823a16426e7b2b30ada1b3cca47d8eeb3c (diff)
downloadxine-lib-5f31761a4fa6995592cdd536c52f6ddac8151a89.tar.gz
xine-lib-5f31761a4fa6995592cdd536c52f6ddac8151a89.tar.bz2
- add buf->decoder_info_ptr: portability for systems where pointer has
different sizeof than integer. - add extra_info structure to pass informations from input/demuxers down to the output frame. this can be used, for example, to pass the frame number of a frame (when known by decoder). also, immediate benefict is that we now have a slider which really shows the current position of the playing stream. new fields can be added to extra_info keeping binary compatibility - bumpy everybody's api versions CVS patchset: 3603 CVS date: 2002/12/21 12:56:44
Diffstat (limited to 'src/xine-engine/video_decoder.c')
-rw-r--r--src/xine-engine/video_decoder.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/xine-engine/video_decoder.c b/src/xine-engine/video_decoder.c
index 21e51e4ca..809f1c048 100644
--- a/src/xine-engine/video_decoder.c
+++ b/src/xine-engine/video_decoder.c
@@ -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: video_decoder.c,v 1.113 2002/12/12 22:54:57 guenter Exp $
+ * $Id: video_decoder.c,v 1.114 2002/12/21 12:56:52 miguelfreitas Exp $
*
*/
@@ -76,16 +76,7 @@ void *video_decoder_loop (void *stream_gen) {
#endif
buf = stream->video_fifo->get (stream->video_fifo);
-
- if (buf->input_length)
- stream->input_length = buf->input_length;
-
- if (!stream->stream_info[XINE_STREAM_INFO_HAS_AUDIO]) {
- if (buf->input_pos)
- stream->input_pos = buf->input_pos;
- if (buf->input_time)
- stream->input_time = buf->input_time;
- }
+ extra_info_merge( stream->video_decoder_extra_info, buf->extra_info );
#ifdef LOG
printf ("video_decoder: got buffer 0x%08x\n", buf->type);
@@ -191,6 +182,7 @@ void *video_decoder_loop (void *stream_gen) {
break;
case BUF_CONTROL_RESET_DECODER:
+ extra_info_reset( stream->video_decoder_extra_info );
if (stream->video_decoder_plugin) {
stream->video_decoder_plugin->reset (stream->video_decoder_plugin);
}