Re: xine-lib 1.1.7/8 unreliable for DVB-T channel changing (verbose=9 log included)

[email protected]
Newsgroups gmane.comp.video.xine.user
Organization nebulon.de
Message-ID <[email protected]>
Am Dienstag 20 November 2007 12:09:25 schrieb Peter Zelezny:
> Hi,
>
> Since 1.1.7 I have found changing channels extremely unreliable.
> That is, 30% of the time it'll return the "XINE" logo and give up.
>
> For example, if I start up xine-ui on DVB://X and change to channel
> Y after it starts up, it'll fail. But if I start xine-ui to DVB://Y,
> then it'll work fine.
>
> I have attached a verbose=9 log of such an event. Any thoughts? I'm
> happy to run any other tests/debug, including recompiles! It's extremely
> frustrating and I'd really like to solve it.
>
> P.S. Using xine-ui 0.99.5, but gxine is the same.
>
> Regards,
> Peter.

Hi,

a week ago I found a bug causing sometimes a segfault on channel switch.
Probably the attached patch for 1.1.8 helps you out also.
(I thinks it went already into the development tree ?)

Thanks,
Johannes

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

_______________________________________________
xine-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xine-user
xine-lib-1.1.8-1-dvb-segfault.patch (text/x-diff, 1.1 KB)
--- src/demuxers/demux_ts.c	2007-08-19 01:36:45.000000000 +0200
+++ src/demuxers/demux_ts.c.new	2007-11-15 16:57:43.000000000 +0100
@@ -371,8 +371,8 @@
 }
 
 static uint32_t demux_ts_compute_crc32(demux_ts_t*this, uint8_t *data, 
-				       uint32_t length, uint32_t crc32) {
-  uint32_t i;
+				       int32_t length, uint32_t crc32) {
+  int32_t i;
 
   for(i = 0; i < length; i++) {
     crc32 = (crc32 << 8) ^ this->crc32_table[(crc32 >> 24) ^ data[i]];
@@ -517,7 +517,7 @@
                                 unsigned char *pkt, unsigned int pusi) {
   uint32_t       table_id;
   uint32_t       section_syntax_indicator;
-  uint32_t       section_length;
+  int32_t       section_length;
   uint32_t       transport_stream_id;
   uint32_t       version_number;
   uint32_t       current_next_indicator;
@@ -1078,7 +1078,7 @@
 
   uint32_t       table_id;
   uint32_t       section_syntax_indicator;
-  uint32_t       section_length = 0; /* to calm down gcc */
+  int32_t       section_length = 0; /* to calm down gcc */
   uint32_t       program_number;
   uint32_t       version_number;
   uint32_t       current_next_indicator;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.