bmff 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. data/.gitignore +25 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +183 -0
  5. data/Rakefile +9 -0
  6. data/bmff.gemspec +25 -0
  7. data/lib/bmff/binary_accessor.rb +186 -0
  8. data/lib/bmff/box/audio_sample_entry.rb +16 -0
  9. data/lib/bmff/box/base.rb +66 -0
  10. data/lib/bmff/box/bit_rate.rb +14 -0
  11. data/lib/bmff/box/chunk_large_offset.rb +16 -0
  12. data/lib/bmff/box/chunk_offset.rb +16 -0
  13. data/lib/bmff/box/clean_aperture.rb +20 -0
  14. data/lib/bmff/box/colour_information.rb +27 -0
  15. data/lib/bmff/box/compact_sample_size.rb +32 -0
  16. data/lib/bmff/box/composition_offset.rb +25 -0
  17. data/lib/bmff/box/composition_to_decode.rb +17 -0
  18. data/lib/bmff/box/container.rb +70 -0
  19. data/lib/bmff/box/copyright.rb +13 -0
  20. data/lib/bmff/box/data_entry_url.rb +12 -0
  21. data/lib/bmff/box/data_entry_urn.rb +13 -0
  22. data/lib/bmff/box/data_information.rb +12 -0
  23. data/lib/bmff/box/data_reference.rb +14 -0
  24. data/lib/bmff/box/degradation_priority.rb +19 -0
  25. data/lib/bmff/box/edit.rb +12 -0
  26. data/lib/bmff/box/edit_list.rb +27 -0
  27. data/lib/bmff/box/file_type.rb +17 -0
  28. data/lib/bmff/box/free_space.rb +6 -0
  29. data/lib/bmff/box/full.rb +11 -0
  30. data/lib/bmff/box/handler.rb +15 -0
  31. data/lib/bmff/box/hint_media_header.rb +16 -0
  32. data/lib/bmff/box/hint_sample_entry.rb +14 -0
  33. data/lib/bmff/box/level_assignment.rb +35 -0
  34. data/lib/bmff/box/map.rb +15 -0
  35. data/lib/bmff/box/media.rb +12 -0
  36. data/lib/bmff/box/media_data.rb +6 -0
  37. data/lib/bmff/box/media_header.rb +25 -0
  38. data/lib/bmff/box/media_information.rb +12 -0
  39. data/lib/bmff/box/meta_data_sample_entry.rb +5 -0
  40. data/lib/bmff/box/movie.rb +12 -0
  41. data/lib/bmff/box/movie_extends.rb +12 -0
  42. data/lib/bmff/box/movie_extends_header.rb +16 -0
  43. data/lib/bmff/box/movie_fragment.rb +12 -0
  44. data/lib/bmff/box/movie_fragment_header.rb +12 -0
  45. data/lib/bmff/box/movie_fragment_random_access.rb +12 -0
  46. data/lib/bmff/box/movie_fragment_random_access_offset.rb +12 -0
  47. data/lib/bmff/box/movie_header.rb +36 -0
  48. data/lib/bmff/box/null_media_header.rb +6 -0
  49. data/lib/bmff/box/padding_bits.rb +23 -0
  50. data/lib/bmff/box/pixel_aspect_ratio.rb +13 -0
  51. data/lib/bmff/box/progressive_download_info.rb +17 -0
  52. data/lib/bmff/box/sample_auxiliary_information_offsets.rb +24 -0
  53. data/lib/bmff/box/sample_auxiliary_information_sizes.rb +23 -0
  54. data/lib/bmff/box/sample_dependency_type.rb +26 -0
  55. data/lib/bmff/box/sample_description.rb +27 -0
  56. data/lib/bmff/box/sample_entry.rb +15 -0
  57. data/lib/bmff/box/sample_size.rb +19 -0
  58. data/lib/bmff/box/sample_table.rb +12 -0
  59. data/lib/bmff/box/sample_to_chunk.rb +20 -0
  60. data/lib/bmff/box/shadow_sync_sample.rb +18 -0
  61. data/lib/bmff/box/sound_media_header.rb +13 -0
  62. data/lib/bmff/box/sub_sample_information.rb +41 -0
  63. data/lib/bmff/box/sync_sample.rb +16 -0
  64. data/lib/bmff/box/text_meta_data_sample_entry.rb +18 -0
  65. data/lib/bmff/box/time_to_sample.rb +18 -0
  66. data/lib/bmff/box/track.rb +12 -0
  67. data/lib/bmff/box/track_extends.rb +17 -0
  68. data/lib/bmff/box/track_fragment.rb +12 -0
  69. data/lib/bmff/box/track_fragment_base_media_decode_time.rb +16 -0
  70. data/lib/bmff/box/track_fragment_header.rb +18 -0
  71. data/lib/bmff/box/track_fragment_random_access.rb +54 -0
  72. data/lib/bmff/box/track_group.rb +12 -0
  73. data/lib/bmff/box/track_group_type.rb +12 -0
  74. data/lib/bmff/box/track_header.rb +36 -0
  75. data/lib/bmff/box/track_reference.rb +12 -0
  76. data/lib/bmff/box/track_reference_type.rb +15 -0
  77. data/lib/bmff/box/track_run.rb +31 -0
  78. data/lib/bmff/box/track_selection.rb +16 -0
  79. data/lib/bmff/box/unknown.rb +5 -0
  80. data/lib/bmff/box/uri.rb +12 -0
  81. data/lib/bmff/box/uri_init.rb +15 -0
  82. data/lib/bmff/box/uri_meta_sample_entry.rb +24 -0
  83. data/lib/bmff/box/user_data.rb +12 -0
  84. data/lib/bmff/box/video_media_header.rb +13 -0
  85. data/lib/bmff/box/visual_sample_entry.rb +37 -0
  86. data/lib/bmff/box/xml_meta_data_sample_entry.rb +19 -0
  87. data/lib/bmff/box.rb +115 -0
  88. data/lib/bmff/file_container.rb +20 -0
  89. data/lib/bmff/version.rb +3 -0
  90. data/lib/bmff.rb +7 -0
  91. data/test/bmff/box/test_audio_sample_entry.rb +46 -0
  92. data/test/bmff/box/test_base.rb +37 -0
  93. data/test/bmff/box/test_bit_rate.rb +30 -0
  94. data/test/bmff/box/test_chunk_large_offset.rb +35 -0
  95. data/test/bmff/box/test_chunk_offset.rb +35 -0
  96. data/test/bmff/box/test_clean_aperture.rb +40 -0
  97. data/test/bmff/box/test_colour_information.rb +73 -0
  98. data/test/bmff/box/test_compact_sample_size.rb +99 -0
  99. data/test/bmff/box/test_composition_offset.rb +64 -0
  100. data/test/bmff/box/test_composition_to_decode.rb +38 -0
  101. data/test/bmff/box/test_copyright.rb +55 -0
  102. data/test/bmff/box/test_data_entry_url.rb +30 -0
  103. data/test/bmff/box/test_data_entry_urn.rb +32 -0
  104. data/test/bmff/box/test_data_information.rb +26 -0
  105. data/test/bmff/box/test_data_reference.rb +58 -0
  106. data/test/bmff/box/test_degradation_priority.rb +62 -0
  107. data/test/bmff/box/test_edit.rb +26 -0
  108. data/test/bmff/box/test_edit_list.rb +72 -0
  109. data/test/bmff/box/test_file_type.rb +30 -0
  110. data/test/bmff/box/test_free_space.rb +42 -0
  111. data/test/bmff/box/test_handler.rb +67 -0
  112. data/test/bmff/box/test_hint_media_header.rb +38 -0
  113. data/test/bmff/box/test_hint_sample_entry.rb +38 -0
  114. data/test/bmff/box/test_level_assignment.rb +50 -0
  115. data/test/bmff/box/test_media.rb +26 -0
  116. data/test/bmff/box/test_media_data.rb +25 -0
  117. data/test/bmff/box/test_media_header.rb +72 -0
  118. data/test/bmff/box/test_media_information.rb +26 -0
  119. data/test/bmff/box/test_movie.rb +26 -0
  120. data/test/bmff/box/test_movie_extends.rb +26 -0
  121. data/test/bmff/box/test_movie_extends_header.rb +52 -0
  122. data/test/bmff/box/test_movie_fragment.rb +26 -0
  123. data/test/bmff/box/test_movie_fragment_header.rb +30 -0
  124. data/test/bmff/box/test_movie_fragment_random_access.rb +26 -0
  125. data/test/bmff/box/test_movie_fragment_random_access_offset.rb +30 -0
  126. data/test/bmff/box/test_movie_header.rb +110 -0
  127. data/test/bmff/box/test_null_media_header.rb +28 -0
  128. data/test/bmff/box/test_padding_bits.rb +38 -0
  129. data/test/bmff/box/test_pixel_aspect_ratio.rb +28 -0
  130. data/test/bmff/box/test_progressive_download_info.rb +36 -0
  131. data/test/bmff/box/test_sample_auxiliary_information_offsets.rb +94 -0
  132. data/test/bmff/box/test_sample_auxiliary_information_sizes.rb +70 -0
  133. data/test/bmff/box/test_sample_dependency_type.rb +70 -0
  134. data/test/bmff/box/test_sample_description.rb +355 -0
  135. data/test/bmff/box/test_sample_size.rb +61 -0
  136. data/test/bmff/box/test_sample_table.rb +26 -0
  137. data/test/bmff/box/test_sample_to_chunk.rb +39 -0
  138. data/test/bmff/box/test_shadow_sync_sample.rb +36 -0
  139. data/test/bmff/box/test_sound_media_header.rb +32 -0
  140. data/test/bmff/box/test_sub_sample_information.rb +90 -0
  141. data/test/bmff/box/test_sync_sample.rb +34 -0
  142. data/test/bmff/box/test_text_meta_data_sample_entry.rb +49 -0
  143. data/test/bmff/box/test_time_to_sample.rb +36 -0
  144. data/test/bmff/box/test_track.rb +26 -0
  145. data/test/bmff/box/test_track_extends.rb +38 -0
  146. data/test/bmff/box/test_track_fragment.rb +26 -0
  147. data/test/bmff/box/test_track_fragment_base_media_decode_time.rb +52 -0
  148. data/test/bmff/box/test_track_fragment_header.rb +200 -0
  149. data/test/bmff/box/test_track_fragment_random_access.rb +96 -0
  150. data/test/bmff/box/test_track_group.rb +26 -0
  151. data/test/bmff/box/test_track_group_type.rb +30 -0
  152. data/test/bmff/box/test_track_header.rb +118 -0
  153. data/test/bmff/box/test_track_reference.rb +26 -0
  154. data/test/bmff/box/test_track_reference_type.rb +100 -0
  155. data/test/bmff/box/test_track_run.rb +282 -0
  156. data/test/bmff/box/test_track_selection.rb +33 -0
  157. data/test/bmff/box/test_uri.rb +30 -0
  158. data/test/bmff/box/test_uri_init.rb +32 -0
  159. data/test/bmff/box/test_uri_meta_sample_entry.rb +74 -0
  160. data/test/bmff/box/test_user_data.rb +26 -0
  161. data/test/bmff/box/test_video_media_header.rb +34 -0
  162. data/test/bmff/box/test_visual_sample_entry.rb +95 -0
  163. data/test/bmff/box/test_xml_meta_data_sample_entry.rb +51 -0
  164. data/test/bmff/test_binary_accessor.rb +805 -0
  165. data/test/bmff/test_file_container.rb +58 -0
  166. data/test/minitest_helper.rb +7 -0
  167. metadata +323 -0
@@ -0,0 +1,58 @@
1
+ # coding: utf-8
2
+ # vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2 autoindent:
3
+
4
+ require_relative '../minitest_helper'
5
+ require 'bmff/file_container'
6
+
7
+ class TestBMFFFileContainer < MiniTest::Unit::TestCase
8
+ SAMPLE_FILE_COMMON_MP4 = 'bmff.mp4'
9
+
10
+ def get_sample_file_path(file_name)
11
+ file_path = File.join(File.expand_path('../../assets', __FILE__), file_name)
12
+ skip "Asset file does not exist." unless FileTest.exist? file_path
13
+ file_path
14
+ end
15
+
16
+ def test_parse
17
+ open(get_sample_file_path(SAMPLE_FILE_COMMON_MP4), "rb:ascii-8bit") do |f|
18
+ file_container = BMFF::FileContainer.parse(f)
19
+ assert_kind_of(BMFF::FileContainer, file_container)
20
+ assert_kind_of(Array, file_container.boxes)
21
+ assert_equal(5, file_container.boxes.count)
22
+ assert_instance_of(BMFF::Box::FileType, file_container.boxes[0])
23
+ assert_instance_of(BMFF::Box::Movie, file_container.boxes[1])
24
+ assert_instance_of(BMFF::Box::FreeSpace, file_container.boxes[2])
25
+ assert_instance_of(BMFF::Box::FreeSpace, file_container.boxes[3])
26
+ assert_instance_of(BMFF::Box::MediaData, file_container.boxes[4])
27
+ end
28
+ end
29
+
30
+ def test_select_descendants
31
+ open(get_sample_file_path(SAMPLE_FILE_COMMON_MP4), "rb:ascii-8bit") do |f|
32
+ file_container = BMFF::FileContainer.parse(f)
33
+ assert_kind_of(BMFF::FileContainer, file_container)
34
+ assert_kind_of(Array, file_container.boxes)
35
+ assert_equal(5, file_container.boxes.count)
36
+
37
+ boxes = file_container.select_descendants(BMFF::Box::FileType)
38
+ assert_equal(1, boxes.count)
39
+ assert_kind_of(BMFF::Box::FileType, boxes[0])
40
+ boxes = file_container.select_descendants("ftyp")
41
+ assert_equal(1, boxes.count)
42
+ assert_kind_of(BMFF::Box::FileType, boxes[0])
43
+
44
+ boxes = file_container.select_descendants(BMFF::Box::Track)
45
+ assert_equal(2, boxes.count)
46
+ assert_kind_of(BMFF::Box::Track, boxes[0])
47
+ assert_kind_of(BMFF::Box::Track, boxes[1])
48
+ boxes = file_container.select_descendants("trak")
49
+ assert_equal(2, boxes.count)
50
+ assert_kind_of(BMFF::Box::Track, boxes[0])
51
+ assert_kind_of(BMFF::Box::Track, boxes[1])
52
+
53
+ boxes = file_container.select_descendants("noex")
54
+ assert_kind_of(Array, boxes)
55
+ assert_equal(0, boxes.count)
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,7 @@
1
+ # coding: utf-8
2
+ # vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2 autoindent:
3
+
4
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
5
+ require 'bmff'
6
+
7
+ require 'minitest/autorun'
metadata ADDED
@@ -0,0 +1,323 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bmff
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Takayuki Ogiso
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-05-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.5'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.5'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: ISO Base Media File Format file parser.
47
+ email:
48
+ - gomatofu@gmail.com
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files: []
52
+ files:
53
+ - .gitignore
54
+ - Gemfile
55
+ - LICENSE.txt
56
+ - README.md
57
+ - Rakefile
58
+ - bmff.gemspec
59
+ - lib/bmff.rb
60
+ - lib/bmff/binary_accessor.rb
61
+ - lib/bmff/box.rb
62
+ - lib/bmff/box/audio_sample_entry.rb
63
+ - lib/bmff/box/base.rb
64
+ - lib/bmff/box/bit_rate.rb
65
+ - lib/bmff/box/chunk_large_offset.rb
66
+ - lib/bmff/box/chunk_offset.rb
67
+ - lib/bmff/box/clean_aperture.rb
68
+ - lib/bmff/box/colour_information.rb
69
+ - lib/bmff/box/compact_sample_size.rb
70
+ - lib/bmff/box/composition_offset.rb
71
+ - lib/bmff/box/composition_to_decode.rb
72
+ - lib/bmff/box/container.rb
73
+ - lib/bmff/box/copyright.rb
74
+ - lib/bmff/box/data_entry_url.rb
75
+ - lib/bmff/box/data_entry_urn.rb
76
+ - lib/bmff/box/data_information.rb
77
+ - lib/bmff/box/data_reference.rb
78
+ - lib/bmff/box/degradation_priority.rb
79
+ - lib/bmff/box/edit.rb
80
+ - lib/bmff/box/edit_list.rb
81
+ - lib/bmff/box/file_type.rb
82
+ - lib/bmff/box/free_space.rb
83
+ - lib/bmff/box/full.rb
84
+ - lib/bmff/box/handler.rb
85
+ - lib/bmff/box/hint_media_header.rb
86
+ - lib/bmff/box/hint_sample_entry.rb
87
+ - lib/bmff/box/level_assignment.rb
88
+ - lib/bmff/box/map.rb
89
+ - lib/bmff/box/media.rb
90
+ - lib/bmff/box/media_data.rb
91
+ - lib/bmff/box/media_header.rb
92
+ - lib/bmff/box/media_information.rb
93
+ - lib/bmff/box/meta_data_sample_entry.rb
94
+ - lib/bmff/box/movie.rb
95
+ - lib/bmff/box/movie_extends.rb
96
+ - lib/bmff/box/movie_extends_header.rb
97
+ - lib/bmff/box/movie_fragment.rb
98
+ - lib/bmff/box/movie_fragment_header.rb
99
+ - lib/bmff/box/movie_fragment_random_access.rb
100
+ - lib/bmff/box/movie_fragment_random_access_offset.rb
101
+ - lib/bmff/box/movie_header.rb
102
+ - lib/bmff/box/null_media_header.rb
103
+ - lib/bmff/box/padding_bits.rb
104
+ - lib/bmff/box/pixel_aspect_ratio.rb
105
+ - lib/bmff/box/progressive_download_info.rb
106
+ - lib/bmff/box/sample_auxiliary_information_offsets.rb
107
+ - lib/bmff/box/sample_auxiliary_information_sizes.rb
108
+ - lib/bmff/box/sample_dependency_type.rb
109
+ - lib/bmff/box/sample_description.rb
110
+ - lib/bmff/box/sample_entry.rb
111
+ - lib/bmff/box/sample_size.rb
112
+ - lib/bmff/box/sample_table.rb
113
+ - lib/bmff/box/sample_to_chunk.rb
114
+ - lib/bmff/box/shadow_sync_sample.rb
115
+ - lib/bmff/box/sound_media_header.rb
116
+ - lib/bmff/box/sub_sample_information.rb
117
+ - lib/bmff/box/sync_sample.rb
118
+ - lib/bmff/box/text_meta_data_sample_entry.rb
119
+ - lib/bmff/box/time_to_sample.rb
120
+ - lib/bmff/box/track.rb
121
+ - lib/bmff/box/track_extends.rb
122
+ - lib/bmff/box/track_fragment.rb
123
+ - lib/bmff/box/track_fragment_base_media_decode_time.rb
124
+ - lib/bmff/box/track_fragment_header.rb
125
+ - lib/bmff/box/track_fragment_random_access.rb
126
+ - lib/bmff/box/track_group.rb
127
+ - lib/bmff/box/track_group_type.rb
128
+ - lib/bmff/box/track_header.rb
129
+ - lib/bmff/box/track_reference.rb
130
+ - lib/bmff/box/track_reference_type.rb
131
+ - lib/bmff/box/track_run.rb
132
+ - lib/bmff/box/track_selection.rb
133
+ - lib/bmff/box/unknown.rb
134
+ - lib/bmff/box/uri.rb
135
+ - lib/bmff/box/uri_init.rb
136
+ - lib/bmff/box/uri_meta_sample_entry.rb
137
+ - lib/bmff/box/user_data.rb
138
+ - lib/bmff/box/video_media_header.rb
139
+ - lib/bmff/box/visual_sample_entry.rb
140
+ - lib/bmff/box/xml_meta_data_sample_entry.rb
141
+ - lib/bmff/file_container.rb
142
+ - lib/bmff/version.rb
143
+ - test/bmff/box/test_audio_sample_entry.rb
144
+ - test/bmff/box/test_base.rb
145
+ - test/bmff/box/test_bit_rate.rb
146
+ - test/bmff/box/test_chunk_large_offset.rb
147
+ - test/bmff/box/test_chunk_offset.rb
148
+ - test/bmff/box/test_clean_aperture.rb
149
+ - test/bmff/box/test_colour_information.rb
150
+ - test/bmff/box/test_compact_sample_size.rb
151
+ - test/bmff/box/test_composition_offset.rb
152
+ - test/bmff/box/test_composition_to_decode.rb
153
+ - test/bmff/box/test_copyright.rb
154
+ - test/bmff/box/test_data_entry_url.rb
155
+ - test/bmff/box/test_data_entry_urn.rb
156
+ - test/bmff/box/test_data_information.rb
157
+ - test/bmff/box/test_data_reference.rb
158
+ - test/bmff/box/test_degradation_priority.rb
159
+ - test/bmff/box/test_edit.rb
160
+ - test/bmff/box/test_edit_list.rb
161
+ - test/bmff/box/test_file_type.rb
162
+ - test/bmff/box/test_free_space.rb
163
+ - test/bmff/box/test_handler.rb
164
+ - test/bmff/box/test_hint_media_header.rb
165
+ - test/bmff/box/test_hint_sample_entry.rb
166
+ - test/bmff/box/test_level_assignment.rb
167
+ - test/bmff/box/test_media.rb
168
+ - test/bmff/box/test_media_data.rb
169
+ - test/bmff/box/test_media_header.rb
170
+ - test/bmff/box/test_media_information.rb
171
+ - test/bmff/box/test_movie.rb
172
+ - test/bmff/box/test_movie_extends.rb
173
+ - test/bmff/box/test_movie_extends_header.rb
174
+ - test/bmff/box/test_movie_fragment.rb
175
+ - test/bmff/box/test_movie_fragment_header.rb
176
+ - test/bmff/box/test_movie_fragment_random_access.rb
177
+ - test/bmff/box/test_movie_fragment_random_access_offset.rb
178
+ - test/bmff/box/test_movie_header.rb
179
+ - test/bmff/box/test_null_media_header.rb
180
+ - test/bmff/box/test_padding_bits.rb
181
+ - test/bmff/box/test_pixel_aspect_ratio.rb
182
+ - test/bmff/box/test_progressive_download_info.rb
183
+ - test/bmff/box/test_sample_auxiliary_information_offsets.rb
184
+ - test/bmff/box/test_sample_auxiliary_information_sizes.rb
185
+ - test/bmff/box/test_sample_dependency_type.rb
186
+ - test/bmff/box/test_sample_description.rb
187
+ - test/bmff/box/test_sample_size.rb
188
+ - test/bmff/box/test_sample_table.rb
189
+ - test/bmff/box/test_sample_to_chunk.rb
190
+ - test/bmff/box/test_shadow_sync_sample.rb
191
+ - test/bmff/box/test_sound_media_header.rb
192
+ - test/bmff/box/test_sub_sample_information.rb
193
+ - test/bmff/box/test_sync_sample.rb
194
+ - test/bmff/box/test_text_meta_data_sample_entry.rb
195
+ - test/bmff/box/test_time_to_sample.rb
196
+ - test/bmff/box/test_track.rb
197
+ - test/bmff/box/test_track_extends.rb
198
+ - test/bmff/box/test_track_fragment.rb
199
+ - test/bmff/box/test_track_fragment_base_media_decode_time.rb
200
+ - test/bmff/box/test_track_fragment_header.rb
201
+ - test/bmff/box/test_track_fragment_random_access.rb
202
+ - test/bmff/box/test_track_group.rb
203
+ - test/bmff/box/test_track_group_type.rb
204
+ - test/bmff/box/test_track_header.rb
205
+ - test/bmff/box/test_track_reference.rb
206
+ - test/bmff/box/test_track_reference_type.rb
207
+ - test/bmff/box/test_track_run.rb
208
+ - test/bmff/box/test_track_selection.rb
209
+ - test/bmff/box/test_uri.rb
210
+ - test/bmff/box/test_uri_init.rb
211
+ - test/bmff/box/test_uri_meta_sample_entry.rb
212
+ - test/bmff/box/test_user_data.rb
213
+ - test/bmff/box/test_video_media_header.rb
214
+ - test/bmff/box/test_visual_sample_entry.rb
215
+ - test/bmff/box/test_xml_meta_data_sample_entry.rb
216
+ - test/bmff/test_binary_accessor.rb
217
+ - test/bmff/test_file_container.rb
218
+ - test/minitest_helper.rb
219
+ homepage: https://github.com/zuku/bmff
220
+ licenses:
221
+ - MIT
222
+ post_install_message:
223
+ rdoc_options: []
224
+ require_paths:
225
+ - lib
226
+ required_ruby_version: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: 1.9.0
232
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ segments:
239
+ - 0
240
+ hash: -2694561282210786674
241
+ requirements: []
242
+ rubyforge_project:
243
+ rubygems_version: 1.8.25
244
+ signing_key:
245
+ specification_version: 3
246
+ summary: ISO BMFF Parser
247
+ test_files:
248
+ - test/bmff/box/test_audio_sample_entry.rb
249
+ - test/bmff/box/test_base.rb
250
+ - test/bmff/box/test_bit_rate.rb
251
+ - test/bmff/box/test_chunk_large_offset.rb
252
+ - test/bmff/box/test_chunk_offset.rb
253
+ - test/bmff/box/test_clean_aperture.rb
254
+ - test/bmff/box/test_colour_information.rb
255
+ - test/bmff/box/test_compact_sample_size.rb
256
+ - test/bmff/box/test_composition_offset.rb
257
+ - test/bmff/box/test_composition_to_decode.rb
258
+ - test/bmff/box/test_copyright.rb
259
+ - test/bmff/box/test_data_entry_url.rb
260
+ - test/bmff/box/test_data_entry_urn.rb
261
+ - test/bmff/box/test_data_information.rb
262
+ - test/bmff/box/test_data_reference.rb
263
+ - test/bmff/box/test_degradation_priority.rb
264
+ - test/bmff/box/test_edit.rb
265
+ - test/bmff/box/test_edit_list.rb
266
+ - test/bmff/box/test_file_type.rb
267
+ - test/bmff/box/test_free_space.rb
268
+ - test/bmff/box/test_handler.rb
269
+ - test/bmff/box/test_hint_media_header.rb
270
+ - test/bmff/box/test_hint_sample_entry.rb
271
+ - test/bmff/box/test_level_assignment.rb
272
+ - test/bmff/box/test_media.rb
273
+ - test/bmff/box/test_media_data.rb
274
+ - test/bmff/box/test_media_header.rb
275
+ - test/bmff/box/test_media_information.rb
276
+ - test/bmff/box/test_movie.rb
277
+ - test/bmff/box/test_movie_extends.rb
278
+ - test/bmff/box/test_movie_extends_header.rb
279
+ - test/bmff/box/test_movie_fragment.rb
280
+ - test/bmff/box/test_movie_fragment_header.rb
281
+ - test/bmff/box/test_movie_fragment_random_access.rb
282
+ - test/bmff/box/test_movie_fragment_random_access_offset.rb
283
+ - test/bmff/box/test_movie_header.rb
284
+ - test/bmff/box/test_null_media_header.rb
285
+ - test/bmff/box/test_padding_bits.rb
286
+ - test/bmff/box/test_pixel_aspect_ratio.rb
287
+ - test/bmff/box/test_progressive_download_info.rb
288
+ - test/bmff/box/test_sample_auxiliary_information_offsets.rb
289
+ - test/bmff/box/test_sample_auxiliary_information_sizes.rb
290
+ - test/bmff/box/test_sample_dependency_type.rb
291
+ - test/bmff/box/test_sample_description.rb
292
+ - test/bmff/box/test_sample_size.rb
293
+ - test/bmff/box/test_sample_table.rb
294
+ - test/bmff/box/test_sample_to_chunk.rb
295
+ - test/bmff/box/test_shadow_sync_sample.rb
296
+ - test/bmff/box/test_sound_media_header.rb
297
+ - test/bmff/box/test_sub_sample_information.rb
298
+ - test/bmff/box/test_sync_sample.rb
299
+ - test/bmff/box/test_text_meta_data_sample_entry.rb
300
+ - test/bmff/box/test_time_to_sample.rb
301
+ - test/bmff/box/test_track.rb
302
+ - test/bmff/box/test_track_extends.rb
303
+ - test/bmff/box/test_track_fragment.rb
304
+ - test/bmff/box/test_track_fragment_base_media_decode_time.rb
305
+ - test/bmff/box/test_track_fragment_header.rb
306
+ - test/bmff/box/test_track_fragment_random_access.rb
307
+ - test/bmff/box/test_track_group.rb
308
+ - test/bmff/box/test_track_group_type.rb
309
+ - test/bmff/box/test_track_header.rb
310
+ - test/bmff/box/test_track_reference.rb
311
+ - test/bmff/box/test_track_reference_type.rb
312
+ - test/bmff/box/test_track_run.rb
313
+ - test/bmff/box/test_track_selection.rb
314
+ - test/bmff/box/test_uri.rb
315
+ - test/bmff/box/test_uri_init.rb
316
+ - test/bmff/box/test_uri_meta_sample_entry.rb
317
+ - test/bmff/box/test_user_data.rb
318
+ - test/bmff/box/test_video_media_header.rb
319
+ - test/bmff/box/test_visual_sample_entry.rb
320
+ - test/bmff/box/test_xml_meta_data_sample_entry.rb
321
+ - test/bmff/test_binary_accessor.rb
322
+ - test/bmff/test_file_container.rb
323
+ - test/minitest_helper.rb