mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	Fix synchronization of recorded files when using Monitor application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		@@ -163,14 +163,16 @@ static int pcm_seek(struct ast_filestream *fs, long sample_offset, int whence)
 | 
			
		||||
	min = 0;
 | 
			
		||||
	cur = lseek(fs->fd, 0, SEEK_CUR);
 | 
			
		||||
	max = lseek(fs->fd, 0, SEEK_END);
 | 
			
		||||
	if(whence == SEEK_SET)
 | 
			
		||||
	if (whence == SEEK_SET)
 | 
			
		||||
		offset = sample_offset;
 | 
			
		||||
	if(whence == SEEK_CUR)
 | 
			
		||||
	else if (whence == SEEK_CUR || whence == SEEK_FORCECUR)
 | 
			
		||||
		offset = sample_offset + cur;
 | 
			
		||||
	if(whence == SEEK_END)
 | 
			
		||||
	else if (whence == SEEK_END)
 | 
			
		||||
		offset = max - sample_offset;
 | 
			
		||||
	offset = (offset > max)?max:offset;
 | 
			
		||||
	offset = (offset < min)?min:offset;
 | 
			
		||||
	if (whence != SEEK_FORCECUR) {
 | 
			
		||||
		offset = (offset > max)?max:offset;
 | 
			
		||||
		offset = (offset < min)?min:offset;
 | 
			
		||||
	}
 | 
			
		||||
	return lseek(fs->fd, offset, SEEK_SET);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user