diff options
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | include/Makefile.am | 3 | ||||
-rw-r--r-- | include/xine.h.in | 7 | ||||
-rw-r--r-- | src/demuxers/demux_ogg.c | 10 | ||||
-rw-r--r-- | src/input/input_dvd.c | 8 |
5 files changed, 26 insertions, 4 deletions
@@ -50,6 +50,8 @@ frontends required for 1.0 ---------------- +- rc4: provide long language strings via XINE_META_INFO_FULL_LANG in + ogg demuxer and DVD input - update xine hacker's guide (article on post plugins still missing) - xine bug tracking system? - fix stream end detection for real streams diff --git a/include/Makefile.am b/include/Makefile.am index 4523ae373..cda4494e0 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -17,3 +17,6 @@ maintainer-clean-generic: -@echo "This command is intended for maintainers to use;" -@echo "it deletes files that may require special tools to rebuild." -rm -f Makefile.in + +install-data-local: install-includeHEADERS + sed -e '/^\/\*_x_/d' xine.h > $(DESTDIR)$(includedir)/xine.h diff --git a/include/xine.h.in b/include/xine.h.in index fba66fe01..04dbe621a 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.111 2003/12/21 14:11:09 mroi Exp $ + * $Id: xine.h.in,v 1.112 2003/12/26 16:13:22 mroi Exp $ * * public xine-lib (libxine) interface and documentation * @@ -37,6 +37,8 @@ * use xlockdisplay() or use two seperate connections to the x-server * */ +/*_x_ Lines formatted like this one are xine-lib developer comments. */ +/*_x_ They will be removed from the installed version of this header. */ #ifndef HAVE_XINE_H #define HAVE_XINE_H @@ -798,7 +800,8 @@ int xine_get_audio_lang (xine_stream_t *stream, int channel, char *lang); int xine_get_spu_lang (xine_stream_t *stream, int channel, char *lang); -#define XINE_LANG_MAX 128 +/*_x_ increasing this number means an incompatible ABI breakage! */ +#define XINE_LANG_MAX 32 /* * get position / length information diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index dc1d85ab2..751687f28 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_ogg.c,v 1.128 2003/12/23 21:22:38 miguelfreitas Exp $ + * $Id: demux_ogg.c,v 1.129 2003/12/26 16:13:21 mroi Exp $ * * demultiplexer for ogg streams * @@ -1569,6 +1569,10 @@ static int demux_ogg_get_optional_data(demux_plugin_t *this_gen, if (this->language[stream_num]) { strncpy (str, this->language[stream_num], XINE_LANG_MAX); str[XINE_LANG_MAX - 1] = '\0'; + if (strlen(this->language[stream_num]) >= XINE_LANG_MAX) + /* the string got truncated */ + str[XINE_LANG_MAX - 2] = str[XINE_LANG_MAX - 3] = str[XINE_LANG_MAX - 4] = '.'; + /* TODO: provide long version in XINE_META_INFO_FULL_LANG */ return DEMUX_OPTIONAL_SUCCESS; } else { snprintf(str, XINE_LANG_MAX, "channel %d",channel); @@ -1589,6 +1593,10 @@ static int demux_ogg_get_optional_data(demux_plugin_t *this_gen, if (this->language[stream_num]) { strncpy (str, this->language[stream_num], XINE_LANG_MAX); str[XINE_LANG_MAX - 1] = '\0'; + if (strlen(this->language[stream_num]) >= XINE_LANG_MAX) + /* the string got truncated */ + str[XINE_LANG_MAX - 2] = str[XINE_LANG_MAX - 3] = str[XINE_LANG_MAX - 4] = '.'; + /* TODO: provide long version in XINE_META_INFO_FULL_LANG */ return DEMUX_OPTIONAL_SUCCESS; } else { snprintf(str, XINE_LANG_MAX, "channel %d",channel); diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c index 4e60ce84e..11031882c 100644 --- a/src/input/input_dvd.c +++ b/src/input/input_dvd.c @@ -18,7 +18,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: input_dvd.c,v 1.178 2003/12/14 22:13:23 siggi Exp $ + * $Id: input_dvd.c,v 1.179 2003/12/26 16:13:21 mroi Exp $ * */ @@ -1215,6 +1215,7 @@ static int dvd_plugin_get_optional_data (input_plugin_t *this_gen, if(lang != 0xffff) sprintf(data, " %c%c", lang >> 8, lang & 0xff); + /* TODO: provide long version in XINE_META_INFO_FULL_LANG */ else sprintf(data, " %c%c", '?', '?'); return INPUT_OPTIONAL_SUCCESS; @@ -1256,6 +1257,7 @@ static int dvd_plugin_get_optional_data (input_plugin_t *this_gen, if(lang != 0xffff) sprintf(data, " %c%c", lang >> 8, lang & 0xff); + /* TODO: provide long version in XINE_META_INFO_FULL_LANG */ else sprintf(data, " %c%c", '?', '?'); return INPUT_OPTIONAL_SUCCESS; @@ -1734,6 +1736,10 @@ static void *init_class (xine_t *xine, void *data) { /* * $Log: input_dvd.c,v $ + * Revision 1.179 2003/12/26 16:13:21 mroi + * * cure the ABI breakage: XINE_LANG_MAX cannot be increased + * * add TODO items to provide a better solution + * * Revision 1.178 2003/12/14 22:13:23 siggi * API version bounce * |