Skip to content

Commit

Permalink
Re-enable FFMpeg's original mpegts demuxer
Browse files Browse the repository at this point in the history
MythTV's one will always be selected when performing a media probe.
  • Loading branch information
jyavenard committed Jul 16, 2013
1 parent 2ea63fc commit 6e08b85
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 6 deletions.
2 changes: 1 addition & 1 deletion mythtv/external/FFmpeg/libavformat/Makefile
Expand Up @@ -221,8 +221,8 @@ OBJS-$(CONFIG_MPEG2SVCD_MUXER) += mpegenc.o
OBJS-$(CONFIG_MPEG1VIDEO_MUXER) += rawenc.o
OBJS-$(CONFIG_MPEG2VIDEO_MUXER) += rawenc.o
OBJS-$(CONFIG_MPEGPS_DEMUXER) += mpeg.o
OBJS-$(CONFIG_MPEGTSORIG_DEMUXER) += mpegts.o isom.o
OBJS-$(CONFIG_MPEGTS_DEMUXER) += mpegts-mythtv.o isom.o
OBJS-$(CONFIG_MPEGTS_DEMUXER) += mpegts.o isom.o
OBJS-$(CONFIG_MPEGTS_MUXER) += mpegtsenc.o
OBJS-$(CONFIG_MPEGVIDEO_DEMUXER) += mpegvideodec.o rawdec.o
OBJS-$(CONFIG_MPJPEG_MUXER) += mpjpeg.o
Expand Down
5 changes: 2 additions & 3 deletions mythtv/external/FFmpeg/libavformat/allformats.c
Expand Up @@ -179,11 +179,10 @@ void av_register_all(void)
REGISTER_MUXER (MPEG2VIDEO, mpeg2video);
REGISTER_MUXER (MPEG2VOB, mpeg2vob);
REGISTER_DEMUXER (MPEGPS, mpegps);
// REGISTER_MUXDEMUX(MPEGTS, mpegts);
REGISTER_MUXER (MPEGTS, mpegts);
REGISTER_DEMUXER (MPEGTS, mythtv_mpegts);
// REGISTER_DEMUXER (MPEGTSRAW, mpegtsraw);
REGISTER_DEMUXER (MPEGTSRAW, mythtv_mpegtsraw);
REGISTER_MUXDEMUX(MPEGTS, mpegts);
REGISTER_DEMUXER (MPEGTSRAW, mpegtsraw);
REGISTER_DEMUXER (MPEGVIDEO, mpegvideo);
REGISTER_MUXER (MPJPEG, mpjpeg);
REGISTER_DEMUXER (MPL2, mpl2);
Expand Down
22 changes: 20 additions & 2 deletions mythtv/external/FFmpeg/libavformat/utils.c
Expand Up @@ -50,6 +50,13 @@
#undef NDEBUG
#include <assert.h>

/* MYTHTV CHANGES */
extern AVInputFormat ff_mythtv_mpegts_demuxer;
extern AVInputFormat ff_mythtv_mpegtsraw_demuxer;
extern AVInputFormat ff_mpegts_demuxer;
extern AVInputFormat ff_mpegtsraw_demuxer;
/* END MYTHTV CHANGES */

/**
* @file
* various utility functions for use within FFmpeg
Expand Down Expand Up @@ -364,8 +371,19 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score
if (score > score_max) {
score_max = score;
fmt = fmt1;
}else if (score == score_max)
fmt = NULL;
}else if (score == score_max){
// if the conflict is between Myth MPEGTS demux and FFMPEG's original one
// use mythtv's one
if ((fmt1 == &ff_mpegts_demuxer && fmt == &ff_mythtv_mpegts_demuxer) ||
(fmt == &ff_mpegts_demuxer && fmt1 == &ff_mythtv_mpegts_demuxer)){
fmt = &ff_mythtv_mpegts_demuxer;
}else if ((fmt1 == &ff_mpegts_demuxer && fmt == &ff_mythtv_mpegtsraw_demuxer) ||
(fmt == &ff_mpegts_demuxer && fmt1 == &ff_mythtv_mpegtsraw_demuxer)){
fmt = &ff_mythtv_mpegtsraw_demuxer;
}else{
fmt = NULL;
}
}
}
*score_ret= score_max;

Expand Down

0 comments on commit 6e08b85

Please sign in to comment.