Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

streamdata.cpp

00001 /*****************************************************************************
00002  * streamdata.cpp: streaming/transcoding data
00003  *****************************************************************************
00004  * Copyright (C) 2000-2005 the VideoLAN team
00005  * $Id: wizard.cpp 7826 2004-05-30 14:43:12Z zorglub $
00006  *
00007  * Authors: Clément Stenac <[email protected]>
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with this program; if not, write to the Free Software
00021  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
00022  *****************************************************************************/
00023 
00024 #include <vlc/vlc.h>
00025 #include <wx/string.h>
00026 #include "streamdata.h"
00027 
00028 
00029 const struct codec vcodecs_array[] =
00030 {
00031     { "MPEG-1 Video" , "mp1v" , N_("MPEG-1 Video codec (useable with MPEG PS, " \
00032         "MPEG TS, MPEG1, OGG and RAW)"),
00033 //       {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_AVI, MUX_RAW, -1,-1,-1 } },
00034        {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_RAW, -1,-1,-1,-1 } },
00035     { "MPEG-2 Video" , "mp2v" , N_("MPEG-2 Video codec (useable with MPEG PS, " \
00036         "MPEG TS, MPEG1, OGG and RAW)"),
00037 //       {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_AVI, MUX_RAW, -1,-1,-1 } },
00038        {MUX_PS, MUX_TS, MUX_MPEG, MUX_OGG, MUX_RAW, -1,-1,-1,-1 } },
00039     { "MPEG-4 Video" , "mp4v" , N_("MPEG-4 Video codec (useable with MPEG PS, " \
00040         "MPEG TS, MPEG1, ASF, MPEG4, OGG and RAW)"),
00041 //       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_AVI,MUX_RAW, -1} },
00042        {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_RAW, -1,-1} },
00043     { "DIVX 1" ,"DIV1",N_("DivX first version (useable with MPEG TS, MPEG1, ASF" \
00044         " and OGG)") ,
00045 //       {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , MUX_AVI , -1,-1,-1,-1 } },
00046        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00047     { "DIVX 2" ,"DIV2",N_("DivX second version (useable with MPEG TS, MPEG1, ASF" \
00048         " and OGG)") ,
00049        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00050     { "DIVX 3" ,"DIV3",N_("DivX third version (useable with MPEG TS, MPEG1, ASF" \
00051         " and OGG)") ,
00052        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00053     { "H 263" , "h263" , N_("H263 is a video codec optimized for videoconference " \
00054         "(low rates, useable with MPEG TS)") ,
00055        { MUX_TS, -1, -1,-1,-1,-1,-1,-1,-1 } },
00056     { "H 264" , "h264" , N_("H264 is a new video codec (useable with MPEG TS " \
00057         "and MPEG4)") ,
00058        { MUX_TS, MUX_MP4, MUX_ASF,-1,-1,-1,-1,-1,-1 } },
00059     { "WMV 1" , "WMV1", N_("WMV (Windows Media Video) 7 (useable with MPEG TS, " \
00060         "MPEG1, ASF and OGG)") ,
00061        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00062     { "WMV 2" , "WMV2", N_("WMV (Windows Media Video) 8 (useable with MPEG TS, " \
00063         "MPEG1, ASF and OGG)") ,
00064        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00065 #ifdef WIN32
00066     { "WMV 3" , "WMV3", N_("WMV (Windows Media Video) 9 (useable with MPEG TS, " \
00067         "MPEG1, ASF and OGG)") ,
00068        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00069 #endif
00070     { "MJPEG" , "MJPG", N_("MJPEG consists of a series of JPEG pictures " \
00071         "(useable with MPEG TS, MPEG1, ASF and OGG)") ,
00072        {MUX_TS , MUX_MPEG , MUX_ASF , MUX_OGG , -1 , -1,-1,-1,-1 } },
00073     { "Theora" , "theo", N_("Theora is a free general-purpose codec (useable " \
00074         "with MPEG TS)"),
00075        {MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1} },
00076     { "Dummy", "dummy", N_("Dummy codec (do not transcode, useable with all " \
00077         "encapsulation formats)") ,
00078       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_WAV,MUX_RAW,MUX_MOV}},
00079     { NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
00080 };
00081 
00082 const struct codec acodecs_array[] =
00083 {
00084     { "MPEG Audio" , "mpga" , N_("The standard MPEG audio (1/2) format " \
00085         "(useable with MPEG PS, MPEG TS, MPEG1, ASF, OGG and RAW)") ,
00086 //       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_AVI,MUX_RAW, -1,-1} },
00087        {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_RAW, -1,-1,-1} },
00088     { "MP3" , "mp3" , N_("MPEG Audio Layer 3 (useable with MPEG PS, MPEG TS, " \
00089         "MPEG1, ASF, OGG and RAW)") ,
00090 //       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_AVI,MUX_RAW, -1,-1} },
00091        {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_RAW, -1,-1, -1} },
00092     { "MPEG 4 Audio" , "mp4a" , N_("Audio format for MPEG4 (useable with " \
00093         "MPEG TS and MPEG4)") ,
00094        {MUX_TS, MUX_MP4, -1,-1,-1,-1,-1,-1,-1 } },
00095     { "A/52" , "a52" , N_("DVD audio format (useable with MPEG PS, MPEG TS, " \
00096         "MPEG1, ASF, OGG and RAW)") ,
00097 //       {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_AVI,MUX_RAW, -1,-1} },
00098        {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_OGG,MUX_RAW, -1,-1,-1} },
00099     { "Vorbis" , "vorb" , N_("Vorbis is a free audio codec (useable with OGG)") ,
00100        {MUX_OGG, -1,-1,-1,-1,-1,-1,-1,-1} },
00101     { "FLAC" , "flac" , N_("FLAC is a lossless audio codec (useable with OGG " \
00102         "and RAW)") ,
00103        {MUX_OGG , MUX_RAW, -1,-1,-1,-1,-1,-1,-1} },
00104     { "Speex" , "spx" , N_("A free audio codec dedicated to compression of " \
00105         "voice (useable with OGG)") ,
00106        {MUX_OGG, -1,-1,-1,-1,-1,-1,-1,-1} },
00107     { "Uncompressed, integer" , "s16l" , N_("Uncompressed audio samples " \
00108         "(useable with WAV)"),
00109        {MUX_WAV, -1,-1,-1,-1,-1,-1,-1,-1} },
00110     { "Uncompressed, floating" , "fl32" , N_("Uncompressed audio samples " \
00111         "(useable with WAV)"),
00112        {MUX_WAV, -1,-1,-1,-1,-1,-1,-1,-1} },
00113     { "Dummy", "dummy", N_("Dummy codec (do not transcode, useable with all " \
00114         "encapsulation formats)") ,
00115 //     {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_AVI,MUX_RAW,MUX_MOV}},
00116      {MUX_PS,MUX_TS,MUX_MPEG,MUX_ASF,MUX_MP4,MUX_OGG,MUX_RAW,MUX_MOV,MUX_WAV}},
00117     { NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
00118 };
00119 
00120 const struct method methods_array[] =
00121 {
00122     {"udp:",N_("UDP Unicast"), N_("Use this to stream to a single computer."),
00123      N_("Enter the address of the computer to stream to."),
00124      { MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1 } },
00125     {"udp:",N_("UDP Multicast"),
00126      N_("Use this to stream to a dynamic group of computers on a "
00127      "multicast-enabled network. This is the most efficient method "
00128      "to stream to several computers, but it does not work over Internet."),
00129      N_("Enter the multicast address to stream to in this field. "
00130      "This must be an IP address between 224.0.0.0 an 239.255.255.255. "
00131      "For a private use, enter an address beginning with 239.255."),
00132      { MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1 } },
00133     {"http://","HTTP",
00134      N_("Use this to stream to several computers. This method is "
00135      "less efficient, as the server needs to send the "
00136      "stream several times."),
00137      N_("Enter the local addresses you want to listen to. Do not enter "
00138      "anything if you want to listen to all adresses or if you don't "
00139      "understand. This is generally the best thing to do. Other computers "
00140      "can then access the stream at http://yourip:8080 by default."),
00141      { MUX_TS, MUX_PS, MUX_MPEG, MUX_OGG, MUX_RAW, MUX_ASF, -1,-1,-1} },
00142     { NULL, NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
00143 };
00144 
00145 
00146 const struct encap encaps_array[] =
00147 {
00148     { MUX_PS, "ps","MPEG PS", N_("MPEG Program Stream") },
00149     { MUX_TS, "ts","MPEG TS", N_("MPEG Transport Stream") },
00150     { MUX_MPEG, "ps", "MPEG 1", N_("MPEG 1 Format") },
00151     { MUX_OGG, "ogg", "OGG", "OGG" },
00152     { MUX_RAW, "raw", "RAW", "RAW" },
00153     { MUX_ASF, "asf","ASF", "ASF" },
00154 //    { MUX_AVI, "avi","AVI", "AVI" },
00155     { MUX_MP4, "mp4","MP4", "MPEG4" },
00156     { MUX_MOV, "mov","MOV", "MOV" },
00157     { MUX_WAV, "wav","WAV", "WAV" },
00158     { -1 , NULL,NULL , NULL } /* Do not remove me */
00159 };

Generated on Tue Dec 20 10:14:47 2005 for vlc-0.8.4a by  doxygen 1.4.2