mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Fixed the cutting mechanism to make it re-sync in case a frame is larger than the buffer
This commit is contained in:
		| @@ -335,3 +335,7 @@ Rudi Hofer (Rudi.Hofer@cadsoft.de) | ||||
|  | ||||
| Gregoire Favre <greg@ulima.unil.ch> | ||||
|  for fixing some function headers to make them compile with gcc 3.x | ||||
|  | ||||
| Sven Grothklags <sven@uni-paderborn.de> | ||||
|  for fixing the cutting mechanism to make it re-sync in case a frame is larger | ||||
|  than the buffer | ||||
|   | ||||
							
								
								
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -1248,3 +1248,5 @@ Video Disk Recorder Revision History | ||||
| - Updated 'Premiere Sport 2' in channels.conf (thanks to Rudi Hofer). | ||||
| - Fixed some function headers to make them compile with gcc 3.x (thanks to | ||||
|   Gregoire Favre). | ||||
| - Fixed the cutting mechanism to make it re-sync in case a frame is larger than the | ||||
|   buffer (thanks to Sven Grothklags). | ||||
|   | ||||
							
								
								
									
										10
									
								
								dvbapi.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								dvbapi.c
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  * See the main source file 'vdr.c' for copyright information and | ||||
|  * how to reach the author. | ||||
|  * | ||||
|  * $Id: dvbapi.c 1.174 2002/05/03 15:59:32 kls Exp $ | ||||
|  * $Id: dvbapi.c 1.174.1.1 2002/05/18 14:15:36 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "dvbapi.h" | ||||
| @@ -1527,11 +1527,15 @@ void cCuttingBuffer::Action(void) | ||||
|                  CurrentFileNumber = FileNumber; | ||||
|                  } | ||||
|               if (fromFile >= 0) { | ||||
|                  Length = ReadFrame(fromFile, buffer,  Length, sizeof(buffer)); | ||||
|                  if (Length < 0) { | ||||
|                  int len = ReadFrame(fromFile, buffer,  Length, sizeof(buffer)); | ||||
|                  if (len < 0) { | ||||
|                     error = "ReadFrame"; | ||||
|                     break; | ||||
|                     } | ||||
|                  if (len != Length) { | ||||
|                     CurrentFileNumber = 0; // this re-syncs in case the frame was larger than the buffer | ||||
|                     Length = len; | ||||
|                     } | ||||
|                  } | ||||
|               else { | ||||
|                  error = "fromFile"; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user