Author: Stas Sergeev <stsp@users.sourceforge.net>
Date:   Tue Oct 4 12:59:04 2011 +0400

    use sequential stream IDs to handle more types

diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.c b/gst/mpegtsmux/tsmux/tsmuxstream.c
index 2e525be..f20393a 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.c
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.c
@@ -129,19 +129,35 @@ tsmux_stream_new (guint16 pid, TsMuxStreamType stream_type)
 
   switch (stream_type) {
     case TSMUX_ST_VIDEO_MPEG1:
+      stream->id = 0xE0 + 1;
+      stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
+      stream->is_video_stream = TRUE;
+      break;
     case TSMUX_ST_VIDEO_MPEG2:
+      stream->id = 0xE0 + 2;
+      stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
+      stream->is_video_stream = TRUE;
+      break;
     case TSMUX_ST_VIDEO_MPEG4:
+      stream->id = 0xE0 + 4;
+      stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
+      stream->is_video_stream = TRUE;
+      break;
     case TSMUX_ST_VIDEO_H264:
-      /* FIXME: Assign sequential IDs? */
       stream->id = 0xE0;
       stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
       stream->is_video_stream = TRUE;
       break;
     case TSMUX_ST_AUDIO_AAC:
+      stream->id = 0xC0;
+      stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
+      break;
     case TSMUX_ST_AUDIO_MPEG1:
+      stream->id = 0xC0 + 1;
+      stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
+      break;
     case TSMUX_ST_AUDIO_MPEG2:
-      /* FIXME: Assign sequential IDs? */
-      stream->id = 0xC0;
+      stream->id = 0xC0 + 2;
       stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
       break;
     case TSMUX_ST_VIDEO_DIRAC:
