gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/rtmp r9572: Add options to select what sho


From: rob
Subject: [Gnash-commit] /srv/bzr/gnash/rtmp r9572: Add options to select what should be printed, as it can be huge.
Date: Thu, 07 Aug 2008 21:17:03 -0600
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9572
committer: address@hidden
branch nick: rtmp
timestamp: Thu 2008-08-07 21:17:03 -0600
message:
  Add options to select what should be printed, as it can be huge.
modified:
  utilities/flvdumper.cpp
=== modified file 'utilities/flvdumper.cpp'
--- a/utilities/flvdumper.cpp   2008-08-08 02:34:31 +0000
+++ b/utilities/flvdumper.cpp   2008-08-08 03:17:03 +0000
@@ -102,6 +102,8 @@
 main(int argc, char *argv[])
 {
     bool dump = false;          // dump the FLV data
+    bool all = false;          // dump all the tags too
+    bool meta = true;          // dump all Meta tags only
     vector<string> infiles;
     
     // Enable native language support, i.e. internationalization
@@ -115,6 +117,8 @@
             { 'h', "help",          Arg_parser::no  },
             { 'v', "verbose",       Arg_parser::no  },
             { 'd', "dump",          Arg_parser::no  },
+            { 'a', "all",           Arg_parser::no  },
+            { 'm', "meta",           Arg_parser::no  },
         };
     
     Arg_parser parser(argc, argv, opts);
@@ -137,6 +141,12 @@
               case 'd':
                   dump = true;
                   break;
+              case 'a':
+                  all = true;
+                  break;
+              case 'm':
+                  meta = true;
+                  break;
              case 0:
                  infiles.push_back(parser.argument(i));
                  break;
@@ -183,22 +193,28 @@
                cerr <<"FLV File type: Audio" << endl;
            }
            
-           log_debug("FLV Version: %d (should always be 1)", 
int(head->version));
+           cerr << "FLV Version: " << int(head->version) << " (should always 
be 1)" << endl;
            boost::uint32_t headsize = flv.convert24(head->head_size);
-           cerr << "FLV Header size: " << headsize << " (should always be 9)" 
<< endl;
+           if (all) {   
+               cerr << "FLV Header size: " << headsize << " (should always be 
9)" << endl;
+           }
             // Extract all the Tags
             size_t total = st.st_size - sizeof(Flv::flv_header_t);
              while (total) {
                 ifs.read(reinterpret_cast<char *>(&previous), 
sizeof(Flv::previous_size_t));
                 previous = ntohl(previous);
                 total -= sizeof(Flv::previous_size_t);
-                cerr << "FLV Previous Tag Size was: " << previous << endl;
+                if (all) {   
+                    cerr << "FLV Previous Tag Size was: " << previous << endl;
+                }
                 ifs.read(reinterpret_cast<char *>(buf.reference()), 
sizeof(Flv::flv_tag_t));
                 tag  = flv.decodeTagHeader(&buf);
                 
                 total -= sizeof(Flv::previous_size_t);
                 boost::uint32_t bodysize = flv.convert24(tag->bodysize);
-                cerr << "FLV Tag size is of " << bodysize << endl;
+                if (all) {   
+                    cerr << "FLV Tag size is: " << bodysize << endl;
+                }
                 buf.resize(bodysize);
                 ifs.read(reinterpret_cast<char *>(buf.reference()), bodysize);
                 // Got to the end of the file
@@ -210,26 +226,34 @@
                 switch (tag->type) {
                   case Flv::TAG_AUDIO:
                   {
-                      log_debug("FLV Tag type is: Audio");
-                      Flv::flv_audio_t *data = 
flv.decodeAudioData(*(buf.reference() + sizeof(Flv::flv_tag_t)));
-                      cerr << "Sound Type is: " << type_strs[data->type] << 
endl;
-                      cerr << "Sound Size is: " << size_strs[data->size] << 
endl;
-                      cerr << "Sound Rate is: " << rate_strs[data->rate] << 
endl;
-                      cerr << "Sound Format is: " << format_strs[data->format] 
<< endl;
-                      break;
+                      if (all) {
+                          log_debug("FLV Tag type is: Audio");
+                          Flv::flv_audio_t *data = 
flv.decodeAudioData(*(buf.reference() + sizeof(Flv::flv_tag_t)));
+                          cerr << "\tSound Type is: " << type_strs[data->type] 
<< endl;
+                          cerr << "\tSound Size is: " << size_strs[data->size] 
<< endl;
+                          cerr << "\tSound Rate is: " << rate_strs[data->rate] 
<< endl;
+                          cerr << "\tSound Format is: " << 
format_strs[data->format] << endl;
+                          break;
+                      }
                   }
                   case Flv::TAG_VIDEO:
                   {
-                      cerr << "FLV Tag type is: Video" << endl;
-                      Flv::flv_video_t *data = 
flv.decodeVideoData(*(buf.reference() + sizeof(Flv::flv_tag_t)));
-                      cerr << "Codec ID is: " << codec_strs[data->codecID] << 
endl;
-                      cerr << "Frame Type is: " << frame_strs[data->type] << 
endl;
-                      break;
+                      if (all) {
+                          cerr << "FLV Tag type is: Video" << endl;
+                          Flv::flv_video_t *data = 
flv.decodeVideoData(*(buf.reference() + sizeof(Flv::flv_tag_t)));
+                          cerr << "\tCodec ID is: " << 
codec_strs[data->codecID] << endl;
+                          cerr << "\tFrame Type is: " << 
frame_strs[data->type] << endl;
+                          break;
+                      }
                   }
                   case Flv::TAG_METADATA:
-                      cerr << "FLV Tag type is: MetaData" << endl;
+                      if (all) {
+                          cerr << "FLV Tag type is: MetaData" << endl;
+                      }
                       Element *metadata = flv.decodeMetaData(buf.reference(), 
bodysize);
-                      metadata->dump();
+                      if (meta && metadata) {
+                          metadata->dump();
+                      }
                       continue;
                 };              
              };


reply via email to

[Prev in Thread] Current Thread [Next in Thread]