mp4info.cpp
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is MPEG4IP.
  13.  * 
  14.  * The Initial Developer of the Original Code is Cisco Systems Inc.
  15.  * Portions created by Cisco Systems Inc. are
  16.  * Copyright (C) Cisco Systems Inc. 2001-2002.  All Rights Reserved.
  17.  * 
  18.  * Contributor(s): 
  19.  * Dave Mackie dmackie@cisco.com
  20.  */
  21. #include "mp4.h"
  22. #include "mpeg4ip_getopt.h"
  23. int main(int argc, char** argv)
  24. {
  25. char* usageString = 
  26. "usage: %s <file-name>n";
  27. /* begin processing command line */
  28. char* ProgName = argv[0];
  29. while (true) {
  30. int c = -1;
  31. int option_index = 0;
  32. static struct option long_options[] = {
  33. { "version", 0, 0, 'V' },
  34. { NULL, 0, 0, 0 }
  35. };
  36. c = getopt_long_only(argc, argv, "V",
  37. long_options, &option_index);
  38. if (c == -1)
  39. break;
  40. switch (c) {
  41. case '?':
  42. fprintf(stderr, usageString, ProgName);
  43. exit(0);
  44. case 'V':
  45.   fprintf(stderr, "%s - %s version %sn", ProgName, 
  46.   PACKAGE, VERSION);
  47.   exit(0);
  48. default:
  49. fprintf(stderr, "%s: unknown option specified, ignoring: %cn", 
  50. ProgName, c);
  51. }
  52. }
  53. /* check that we have at least one non-option argument */
  54. if ((argc - optind) < 1) {
  55. fprintf(stderr, usageString, ProgName);
  56. exit(1);
  57. }
  58. /* end processing of command line */
  59. printf("%s version %sn", ProgName, VERSION);
  60. while (optind < argc) {
  61. char *mp4FileName = argv[optind++];
  62. printf("%s:n", mp4FileName);
  63. char* info = MP4FileInfo(mp4FileName);
  64. if (!info) {
  65. fprintf(stderr, 
  66. "%s: can't open %sn", 
  67. ProgName, mp4FileName);
  68. continue;
  69. }
  70. fputs(info, stdout);
  71. free(info);
  72. }
  73. return(0);
  74. }