1
0
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:
Wolfram Gloger 2004-03-26 17:40:40 +00:00 committed by Michael Niedermayer
parent d7646d7d93
commit 6fb316d563
2 changed files with 13 additions and 6 deletions

View File

@ -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();
}

View File

@ -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;