mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Support raw mpegts streams from dvr patch by (wmglo at dent dot med dot uni-muenchen dot de)
Originally committed as revision 2931 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d7646d7d93
commit
6fb316d563
2
ffmpeg.c
2
ffmpeg.c
@ -2344,6 +2344,8 @@ static void check_audio_video_inputs(int *has_video_ptr, int *has_audio_ptr)
|
||||
case CODEC_TYPE_VIDEO:
|
||||
has_video = 1;
|
||||
break;
|
||||
case CODEC_TYPE_DATA:
|
||||
break;
|
||||
default:
|
||||
av_abort();
|
||||
}
|
||||
|
@ -378,7 +378,7 @@ static void pmt_cb(void *opaque, const uint8_t *section, int section_len)
|
||||
|
||||
#ifdef DEBUG_SI
|
||||
printf("PMT:\n");
|
||||
av_hex_dump((uint8_t *)section, section_len);
|
||||
av_hex_dump(stdout, (uint8_t *)section, section_len);
|
||||
#endif
|
||||
p_end = section + section_len - 4;
|
||||
p = section;
|
||||
@ -453,7 +453,7 @@ static void pat_cb(void *opaque, const uint8_t *section, int section_len)
|
||||
|
||||
#ifdef DEBUG_SI
|
||||
printf("PAT:\n");
|
||||
av_hex_dump((uint8_t *)section, section_len);
|
||||
av_hex_dump(stdout, (uint8_t *)section, section_len);
|
||||
#endif
|
||||
p_end = section + section_len - 4;
|
||||
p = section;
|
||||
@ -502,7 +502,7 @@ static void pat_scan_cb(void *opaque, const uint8_t *section, int section_len)
|
||||
|
||||
#ifdef DEBUG_SI
|
||||
printf("PAT:\n");
|
||||
av_hex_dump((uint8_t *)section, section_len);
|
||||
av_hex_dump(stdout, (uint8_t *)section, section_len);
|
||||
#endif
|
||||
p_end = section + section_len - 4;
|
||||
p = section;
|
||||
@ -563,7 +563,7 @@ static void sdt_cb(void *opaque, const uint8_t *section, int section_len)
|
||||
|
||||
#ifdef DEBUG_SI
|
||||
printf("SDT:\n");
|
||||
av_hex_dump((uint8_t *)section, section_len);
|
||||
av_hex_dump(stdout, (uint8_t *)section, section_len);
|
||||
#endif
|
||||
|
||||
p_end = section + section_len - 4;
|
||||
@ -1126,8 +1126,12 @@ static int mpegts_read_header(AVFormatContext *s,
|
||||
handle_packets(ts, MAX_SCAN_PACKETS);
|
||||
}
|
||||
|
||||
if (ts->nb_services <= 0)
|
||||
return -1;
|
||||
if (ts->nb_services <= 0) {
|
||||
/* raw transport stream */
|
||||
ts->auto_guess = 1;
|
||||
s->ctx_flags |= AVFMTCTX_NOHEADER;
|
||||
goto do_pcr;
|
||||
}
|
||||
|
||||
/* tune to first service found */
|
||||
service = ts->services[0];
|
||||
@ -1165,6 +1169,7 @@ static int mpegts_read_header(AVFormatContext *s,
|
||||
s->pts_num = 1;
|
||||
s->pts_den = 27000000;
|
||||
|
||||
do_pcr:
|
||||
st = av_new_stream(s, 0);
|
||||
if (!st)
|
||||
goto fail;
|
||||
|
Loading…
Reference in New Issue
Block a user