summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrantišek Dvořák <valtri@users.sourceforge.net>2006-01-01 21:28:31 +0000
committerFrantišek Dvořák <valtri@users.sourceforge.net>2006-01-01 21:28:31 +0000
commitfeb563384bc37729b57086bbf6cc1170f1e63eae (patch)
tree1afdd6d5931bb980c377192f1897bc61ec795924
parent6edfbdb15a312fc1cecb116a1462f2ceda248195 (diff)
downloadxine-lib-feb563384bc37729b57086bbf6cc1170f1e63eae.tar.gz
xine-lib-feb563384bc37729b57086bbf6cc1170f1e63eae.tar.bz2
*BUGFIX*
Added missing function to VCD plugin from original sources (thanks to Gert Vervoort). Fixed Changelog (added 1.0.3 entries, the new ones go to 1.0.4). CVS patchset: 7829 CVS date: 2006/01/01 21:28:31
-rw-r--r--ChangeLog8
-rw-r--r--src/input/vcd/libvcd/info.c61
2 files changed, 65 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b9a3d67c..707328a1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -38,11 +38,15 @@ xine-lib (1.1.0)
needed for the ASX parser; deprecates plain MRL reference events.
* goom updated to 2k4-0
-xine-lib (1.0.3)
+xine-lib (1.0.4)
* tiny doc update
* build fixes and cross build improvements
* fixed an align problem in Win32 DirectX video output plugin
-
+
+xine-lib (1.0.3)
+ * fixed format string vulnerability in audio CD input plugin
+ * some build system fixes for Windows
+
xine-lib (1.0.2)
* fixed playback of single-session Real RTSP streams, such as
rtsp://stream.samurai.fm/broadcast/live_hi.rm
diff --git a/src/input/vcd/libvcd/info.c b/src/input/vcd/libvcd/info.c
index c18444676..d98f9b9a9 100644
--- a/src/input/vcd/libvcd/info.c
+++ b/src/input/vcd/libvcd/info.c
@@ -1,5 +1,5 @@
/*
- $Id: info.c,v 1.4 2005/06/14 17:17:45 rockyb Exp $
+ $Id: info.c,v 1.5 2006/01/01 21:28:32 valtri Exp $
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -59,7 +59,7 @@
#include <stddef.h>
#include <errno.h>
-static const char _rcsid[] = "$Id: info.c,v 1.4 2005/06/14 17:17:45 rockyb Exp $";
+static const char _rcsid[] = "$Id: info.c,v 1.5 2006/01/01 21:28:32 valtri Exp $";
#define BUF_COUNT 16
#define BUF_SIZE 80
@@ -1208,6 +1208,63 @@ vcdinfo_get_seg_msf(const vcdinfo_obj_t *obj, segnum_t seg_num)
}
}
+/*! Return the x-y resolution for a given segment.
+ Note first i_seg is 0.
+*/
+void
+vcdinfo_get_seg_resolution(const vcdinfo_obj_t *p_vcdinfo, segnum_t i_seg,
+ /*out*/ uint16_t *max_x, /*out*/ uint16_t *max_y)
+{
+ vcdinfo_video_segment_type_t segtype
+ = vcdinfo_get_video_type(p_vcdinfo, i_seg);
+ segnum_t i_segs = vcdinfo_get_num_segments(p_vcdinfo);
+
+ if (i_seg >= i_segs) return;
+
+ switch (segtype) {
+ case VCDINFO_FILES_VIDEO_NTSC_STILL:
+ *max_x = 704;
+ *max_y = 480;
+ break;
+ case VCDINFO_FILES_VIDEO_NTSC_STILL2:
+ *max_x = 352;
+ *max_y = 240;
+ break;
+ case VCDINFO_FILES_VIDEO_PAL_STILL:
+ *max_x = 704;
+ *max_y = 576;
+ break;
+ case VCDINFO_FILES_VIDEO_PAL_STILL2:
+ *max_x = 352;
+ *max_y = 288;
+ break;
+ default:
+ /* */
+ switch (vcdinfo_get_format_version(p_vcdinfo)) {
+ case VCD_TYPE_VCD:
+ *max_x = 352;
+ *max_y = 240;
+ break;
+ case VCD_TYPE_VCD11:
+ case VCD_TYPE_VCD2:
+ *max_x = 352;
+ switch(segtype) {
+ case VCDINFO_FILES_VIDEO_NTSC_MOTION:
+ *max_y = 240;
+ break;
+ case VCDINFO_FILES_VIDEO_PAL_MOTION:
+ *max_y = 288;
+ default:
+ *max_y = 289;
+ }
+ break;
+ default: ;
+ }
+ }
+}
+
+
+
/*!
Return the number of sectors for segment
entry_num in obj. 0 is returned if there is no entry.