static struct strtab container_audio_mime[] = {
{ "application/octet-stream", MC_UNKNOWN },
{ "audio/x-matroska", MC_MATROSKA },
+ { "audio/x-matroska", MC_AVMATROSKA },
{ "audio/webm", MC_WEBM },
{ "audio/x-mpegts", MC_MPEGTS },
{ "audio/mpeg", MC_MPEGPS },
static struct strtab container_video_mime[] = {
{ "application/octet-stream", MC_UNKNOWN },
{ "video/x-matroska", MC_MATROSKA },
+ { "video/x-matroska", MC_AVMATROSKA },
{ "video/webm", MC_WEBM },
{ "video/x-mpegts", MC_MPEGTS },
{ "video/mpeg", MC_MPEGPS },
* Name of the container
*/
static struct strtab container_name[] = {
- { "unknown", MC_UNKNOWN },
- { "matroska", MC_MATROSKA },
- { "webm", MC_WEBM },
- { "mpegts", MC_MPEGTS },
- { "mpegps", MC_MPEGPS },
- { "pass", MC_PASS },
- { "raw", MC_RAW },
+ { "unknown", MC_UNKNOWN },
+ { "matroska", MC_MATROSKA },
+ { "webm", MC_WEBM },
+ { "mpegts", MC_MPEGTS },
+ { "mpegps", MC_MPEGPS },
+ { "pass", MC_PASS },
+ { "raw", MC_RAW },
+ { "avmatroska", MC_AVMATROSKA },
};
{ "mpeg", MC_MPEGPS },
{ "bin", MC_PASS },
{ "bin", MC_RAW },
+ { "mka", MC_AVMATROSKA },
};
{ "mpeg", MC_MPEGPS },
{ "bin", MC_PASS },
{ "bin", MC_RAW },
+ { "mkv", MC_AVMATROSKA },
};
}
-#if 0
-/**
- * Get a list of supported containers
- */
-static int
-muxer_container_add(htsmsg_t *array, int type, const char *text)
-{
- htsmsg_t *mc;
-
- mc = htsmsg_create_map();
- htsmsg_add_str(mc, "name", muxer_container_type2txt(type));
- htsmsg_add_str(mc, "description", text);
- htsmsg_add_msg(array, NULL, mc);
- return 1;
-}
-
-int
-muxer_container_list(htsmsg_t *array)
-{
- int c;
-
- c = muxer_container_add(array, MC_MATROSKA, "Matroska (mkv)");
- c += muxer_container_add(array, MC_PASS, "Same as source (pass through)");
-
-#if ENABLE_LIBAV
- c += muxer_container_add(array, MC_MPEGTS, "MPEG-TS");
-
- c += muxer_container_add(array, MC_MPEGPS, "MPEG-PS (DVD)");
-#endif
-
- return c;
-}
-#endif
-
-
/**
* Convert a container name to a container type
*/
switch(lm->m_config.m_type) {
case MC_MATROSKA:
+ case MC_AVMATROSKA:
st->time_base.num = 1000000;
st->time_base.den = 1;
break;
c->sample_rate = sri_to_rate(ssc->ssc_sri);
c->channels = ssc->ssc_channels;
+#if 0
c->time_base.num = 1;
c->time_base.den = c->sample_rate;
+#endif
av_dict_set(&st->metadata, "language", ssc->ssc_lang, 0);
c->width = ssc->ssc_width;
c->height = ssc->ssc_height;
+#if 0
c->time_base.num = 1;
c->time_base.den = 25;
+#endif
c->sample_aspect_ratio.num = ssc->ssc_aspect_num;
c->sample_aspect_ratio.den = ssc->ssc_aspect_den;
switch(mc) {
case MC_MATROSKA:
+ case MC_AVMATROSKA:
ret |= SCT_ISAUDIO(type);
ret |= SCT_ISVIDEO(type);
ret |= SCT_ISSUBTITLE(type);
case MC_MPEGPS:
mux_name = "dvd";
break;
+ case MC_MATROSKA:
+ case MC_AVMATROSKA:
+ mux_name = "matroska";
+ break;
default:
mux_name = muxer_container_type2txt(m_cfg->m_type);
break;
{
static const struct strtab tab[] = {
{ "Not set", MC_UNKNOWN },
- { "Matroska (mkv)", MC_MATROSKA, },
- { "WEBM", MC_WEBM, },
- { "MPEG-TS", MC_MPEGTS },
- { "MPEG-PS (DVD)", MC_MPEGPS },
+ { "Matroska (mkv) /built-in", MC_MATROSKA, },
+ { "WEBM /built-in", MC_WEBM, },
+ { "MPEG-TS /av-lib", MC_MPEGTS },
+ { "MPEG-PS (DVD) /av-lib", MC_MPEGPS },
+ { "Matroska (mkv) /av-lib", MC_AVMATROSKA },
};
return strtab2htsmsg(tab);
}
case MC_WEBM:
case MC_MPEGTS:
case MC_MPEGPS:
+ case MC_AVMATROSKA:
return 1;
default:
return 0;