ext/ffmpeg/gstffmpegcodecmap.c: Clarify some CODEC_ID <=> mime type conversions for image formats.

Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Clarify some CODEC_ID <=> mime type conversions for image formats.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Cleanup on demuxer registration.
Bumped flv demuxer to RANK_MARGINAL since it proved solid enough.
Will have to go over more demuxers, for which we don't have any
gst-plugins-* alternative, to figure out which ones can move to
RANK_MARGINAL too.
This commit is contained in:
Edward Hervey 2006-09-30 14:42:16 +00:00
parent 43d197a833
commit ab7a8db4a5
3 changed files with 37 additions and 11 deletions

View file

@ -1,3 +1,14 @@
2006-09-30 Edward Hervey <edward@fluendo.com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Clarify some CODEC_ID <=> mime type conversions for image formats.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Cleanup on demuxer registration.
Bumped flv demuxer to RANK_MARGINAL since it proved solid enough.
Will have to go over more demuxers, for which we don't have any
gst-plugins-* alternative, to figure out which ones can move to
RANK_MARGINAL too.
2006-09-29 Tim-Philipp Müller <tim at centricular dot net> 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):

View file

@ -604,6 +604,14 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
caps = gst_ff_vid_caps_new (context, "image/png", NULL); caps = gst_ff_vid_caps_new (context, "image/png", NULL);
break; break;
case CODEC_ID_PPM:
caps = gst_ff_vid_caps_new (context, "image/ppm", NULL);
break;
case CODEC_ID_PBM:
caps = gst_ff_vid_caps_new (context, "image/pbm", NULL);
break;
case CODEC_ID_SMC: case CODEC_ID_SMC:
caps = gst_ff_vid_caps_new (context, "video/x-smc", NULL); caps = gst_ff_vid_caps_new (context, "video/x-smc", NULL);
break; break;
@ -624,8 +632,6 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
case CODEC_ID_VIXL: case CODEC_ID_VIXL:
case CODEC_ID_QPEG: case CODEC_ID_QPEG:
case CODEC_ID_XVID: case CODEC_ID_XVID:
case CODEC_ID_PPM:
case CODEC_ID_PBM:
case CODEC_ID_PGM: case CODEC_ID_PGM:
case CODEC_ID_PGMYUV: case CODEC_ID_PGMYUV:
case CODEC_ID_PAM: case CODEC_ID_PAM:

View file

@ -1365,7 +1365,7 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
gchar *type_name, *typefind_name; gchar *type_name, *typefind_name;
gchar *p, *name = NULL; gchar *p, *name = NULL;
GstCaps *sinkcaps, *audiosrccaps, *videosrccaps; GstCaps *sinkcaps, *audiosrccaps, *videosrccaps;
gint rank = GST_RANK_NONE; /* don't autoplug unless more stable */ gint rank;
gboolean register_typefind_func = TRUE; gboolean register_typefind_func = TRUE;
/* no emulators */ /* no emulators */
@ -1374,7 +1374,13 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
!strcmp (in_plugin->name, "audio_device") || !strcmp (in_plugin->name, "audio_device") ||
!strncmp (in_plugin->name, "image", 5) || !strncmp (in_plugin->name, "image", 5) ||
!strcmp (in_plugin->name, "mpegvideo") || !strcmp (in_plugin->name, "mpegvideo") ||
!strcmp (in_plugin->name, "mjpeg")) !strcmp (in_plugin->name, "mjpeg") ||
!strcmp (in_plugin->name, "redir"))
goto next;
/* no network demuxers */
if (!strcmp (in_plugin->name, "sdp") ||
!strcmp (in_plugin->name, "rtsp"))
goto next; goto next;
/* these don't do what one would expect or /* these don't do what one would expect or
@ -1382,13 +1388,8 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
if (!strcmp (in_plugin->name, "aac")) if (!strcmp (in_plugin->name, "aac"))
goto next; goto next;
/* these are known to be buggy or broken or not /* Don't use the typefind functions of formats for which we already have
* tested enough to let them be autoplugged */ * better typefind functions */
if (!strcmp (in_plugin->name, "mp3") || /* = application/x-id3 */
!strcmp (in_plugin->name, "avi") || !strcmp (in_plugin->name, "ogg")) {
rank = GST_RANK_NONE;
}
if (!strcmp (in_plugin->name, "mov,mp4,m4a,3gp,3g2,mj2") || if (!strcmp (in_plugin->name, "mov,mp4,m4a,3gp,3g2,mj2") ||
!strcmp (in_plugin->name, "avi") || !strcmp (in_plugin->name, "avi") ||
!strcmp (in_plugin->name, "asf") || !strcmp (in_plugin->name, "asf") ||
@ -1401,6 +1402,14 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
!strcmp (in_plugin->name, "tta") || !strcmp (in_plugin->name, "rm")) !strcmp (in_plugin->name, "tta") || !strcmp (in_plugin->name, "rm"))
register_typefind_func = FALSE; register_typefind_func = FALSE;
/* Set the rank of demuxers know to work to MARGINAL.
* Set demuxers for which we already have another implementation to NONE
* Set All others to NONE*/
if (!strcmp (in_plugin->name, "flv"))
rank = GST_RANK_MARGINAL;
else
rank = GST_RANK_NONE;
p = name = g_strdup (in_plugin->name); p = name = g_strdup (in_plugin->name);
while (*p) { while (*p) {
if (*p == '.' || *p == ',') if (*p == '.' || *p == ',')