| 
																	
																	
																		
																	
																	
																 | 
																@@ -1495,6 +1495,10 @@ static int dvbsub_decode(AVCodecContext *avctx, | 
															
														
														
													
														
															
																 | 
																 | 
																        segment_length = AV_RB16(p); | 
																 | 
																 | 
																        segment_length = AV_RB16(p); | 
															
														
														
													
														
															
																 | 
																 | 
																        p += 2; | 
																 | 
																 | 
																        p += 2; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (avctx->debug & FF_DEBUG_STARTCODE) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            av_log(avctx, AV_LOG_DEBUG, "segment_type:%d page_id:%d segment_length:%d\n", segment_type, page_id, segment_length); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																        if (p_end - p < segment_length) { | 
																 | 
																 | 
																        if (p_end - p < segment_length) { | 
															
														
														
													
														
															
																 | 
																 | 
																            av_dlog(avctx, "incomplete or broken packet"); | 
																 | 
																 | 
																            av_dlog(avctx, "incomplete or broken packet"); | 
															
														
														
													
														
															
																 | 
																 | 
																            return -1; | 
																 | 
																 | 
																            return -1; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -1538,8 +1542,10 @@ static int dvbsub_decode(AVCodecContext *avctx, | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																    // Some streams do not send a display segment but if we have all the other | 
																 | 
																 | 
																    // Some streams do not send a display segment but if we have all the other | 
															
														
														
													
														
															
																 | 
																 | 
																    // segments then we need no further data. | 
																 | 
																 | 
																    // segments then we need no further data. | 
															
														
														
													
														
															
																 | 
																 | 
																    if (got_segment == 15 && sub) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (got_segment == 15 && sub) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        av_log(avctx, AV_LOG_DEBUG, "Missing display_end_segment, emulating\n"); | 
															
														
														
													
														
															
																 | 
																 | 
																        *data_size = dvbsub_display_end_segment(avctx, p, 0, sub); | 
																 | 
																 | 
																        *data_size = dvbsub_display_end_segment(avctx, p, 0, sub); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    return p - buf; | 
																 | 
																 | 
																    return p - buf; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |