|  | @@ -1986,6 +1986,15 @@ static int parse_pcr(int64_t *ppcr_high, int *ppcr_low, | 
														
													
														
															
																|  |  | return 0; |  |  | return 0; | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  |  |  |  | static void seek_back(AVFormatContext *s, AVIOContext *pb, int64_t pos) { | 
														
													
														
															
																|  |  |  |  |  | 
 | 
														
													
														
															
																|  |  |  |  |  | /* NOTE: We attempt to seek on non-seekable files as well, as the | 
														
													
														
															
																|  |  |  |  |  | * probe buffer usually is big enough. Only warn if the seek failed | 
														
													
														
															
																|  |  |  |  |  | * on files where the seek should work. */ | 
														
													
														
															
																|  |  |  |  |  | if (avio_seek(pb, pos, SEEK_SET) < 0) | 
														
													
														
															
																|  |  |  |  |  | av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n"); | 
														
													
														
															
																|  |  |  |  |  | } | 
														
													
														
															
																|  |  |  |  |  | 
 | 
														
													
														
															
																|  |  | static int mpegts_read_header(AVFormatContext *s) |  |  | static int mpegts_read_header(AVFormatContext *s) | 
														
													
														
															
																|  |  | { |  |  | { | 
														
													
														
															
																|  |  | MpegTSContext *ts = s->priv_data; |  |  | MpegTSContext *ts = s->priv_data; | 
														
													
												
													
														
															
																|  | @@ -2009,11 +2018,7 @@ static int mpegts_read_header(AVFormatContext *s) | 
														
													
														
															
																|  |  | /* normal demux */ |  |  | /* normal demux */ | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | /* first do a scan to get all the services */ |  |  | /* first do a scan to get all the services */ | 
														
													
														
															
																|  |  | /* NOTE: We attempt to seek on non-seekable files as well, as the |  |  |  | 
														
													
														
															
																|  |  | * probe buffer usually is big enough. Only warn if the seek failed |  |  |  | 
														
													
														
															
																|  |  | * on files where the seek should work. */ |  |  |  | 
														
													
														
															
																|  |  | if (avio_seek(pb, pos, SEEK_SET) < 0) |  |  |  | 
														
													
														
															
																|  |  | av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n"); |  |  |  | 
														
													
														
															
																|  |  |  |  |  | seek_back(s, pb, pos); | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | mpegts_open_section_filter(ts, SDT_PID, sdt_cb, ts, 1); |  |  | mpegts_open_section_filter(ts, SDT_PID, sdt_cb, ts, 1); | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
												
													
														
															
																|  | 
 |