changeset 1582:ece0ad14a35d libavcodec

added fake codec CODEC_ID_MPEG2TS of type CODEC_TYPE_DATA (needed for simpler handling of raw transport streams in ffserver and RTP - better solutions are welcomed)
author bellard
date Wed, 29 Oct 2003 14:08:18 +0000
parents d2fc92d02bf7
children 853d2107ce5b
files avcodec.h utils.c
diffstat 2 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.h	Tue Oct 28 09:23:26 2003 +0000
+++ b/avcodec.h	Wed Oct 29 14:08:18 2003 +0000
@@ -16,7 +16,7 @@
 
 #define FFMPEG_VERSION_INT     0x000408
 #define FFMPEG_VERSION         "0.4.8"
-#define LIBAVCODEC_BUILD       4687
+#define LIBAVCODEC_BUILD       4688
 
 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
 #define LIBAVCODEC_VERSION     FFMPEG_VERSION
@@ -117,6 +117,9 @@
     CODEC_ID_ROQ_DPCM,
     CODEC_ID_INTERPLAY_DPCM,
     CODEC_ID_XAN_DPCM,
+    
+    CODEC_ID_MPEG2TS, /* _FAKE_ codec to indicate a raw MPEG2 transport
+                         stream (only used by libavformat) */
 };
 
 /* CODEC_ID_MP3LAME is absolete */
@@ -126,6 +129,7 @@
     CODEC_TYPE_UNKNOWN = -1,
     CODEC_TYPE_VIDEO,
     CODEC_TYPE_AUDIO,
+    CODEC_TYPE_DATA,
 };
 
 /**
--- a/utils.c	Tue Oct 28 09:23:26 2003 +0000
+++ b/utils.c	Wed Oct 29 14:08:18 2003 +0000
@@ -523,6 +523,10 @@
             else if (enc->sub_id == 1)
                 codec_name = "mp1";
         }
+    } else if (enc->codec_id == CODEC_ID_MPEG2TS) {
+        /* fake mpeg2 transport stream codec (currently not
+           registered) */
+        codec_name = "mpeg2ts";
     } else if (enc->codec_name[0] != '\0') {
         codec_name = enc->codec_name;
     } else {
@@ -605,6 +609,10 @@
             break;
         }
         break;
+    case CODEC_TYPE_DATA:
+        snprintf(buf, buf_size, "Data: %s", codec_name);
+        bitrate = enc->bit_rate;
+        break;
     default:
         av_abort();
     }