diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-11-29 20:25:06 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-11-29 20:25:06 +0000 |
commit | 70281aa4e47aed8ce26eddd3cfb965f7320a7347 (patch) | |
tree | fc526549893e04333577969cdf974c40c25a62d4 /gst/mxf/mxfdemux.c | |
parent | cf877b2d4f532c93076f8e302440ebf94017830e (diff) | |
download | gst-plugins-bad-70281aa4e47aed8ce26eddd3cfb965f7320a7347.tar.gz gst-plugins-bad-70281aa4e47aed8ce26eddd3cfb965f7320a7347.tar.bz2 gst-plugins-bad-70281aa4e47aed8ce26eddd3cfb965f7320a7347.zip |
gst/mxf/: Add initial support for JPEG2000 encoded video essence.
Original commit message from CVS:
* gst/mxf/Makefile.am:
* gst/mxf/mxfdemux.c:
(gst_mxf_demux_handle_header_metadata_update_streams):
* gst/mxf/mxfjpeg2000.c: (mxf_is_jpeg2000_video_essence_track),
(mxf_jpeg2000_handle_essence_element), (mxf_jpeg2000_create_caps):
* gst/mxf/mxfjpeg2000.h:
Add initial support for JPEG2000 encoded video essence.
* gst/mxf/mxfparse.c:
(mxf_metadata_generic_picture_essence_descriptor_set_caps):
Set the framerate in the video caps.
Diffstat (limited to 'gst/mxf/mxfdemux.c')
-rw-r--r-- | gst/mxf/mxfdemux.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c index 691e5407..f90efa5f 100644 --- a/gst/mxf/mxfdemux.c +++ b/gst/mxf/mxfdemux.c @@ -19,7 +19,7 @@ /* TODO: * - start at correct position of the component, switch components - * - RandomIndex / IndexSegment support + * - seeking support * - timecode tracks * - descriptive metadata * - generic container system items @@ -35,6 +35,7 @@ #include "mxfmpeg.h" #include "mxfdv-dif.h" #include "mxfalaw.h" +#include "mxfjpeg2000.h" #include <string.h> @@ -1292,8 +1293,9 @@ gst_mxf_demux_handle_header_metadata_resolve_references (GstMXFDemux * demux) MXFMetadataEssenceContainerData, i); for (j = 0; j < demux->content_storage.n_essence_container_data; j++) { - if (mxf_ul_is_equal (&demux->content_storage. - essence_container_data_uids[j], &data->instance_uid)) { + if (mxf_ul_is_equal (&demux-> + content_storage.essence_container_data_uids[j], + &data->instance_uid)) { demux->content_storage.essence_container_data[j] = data; break; } @@ -1833,6 +1835,10 @@ choose_package: caps = mxf_dv_dif_create_caps (source_package, source_track, &pad->tags, &pad->handle_essence_element, &pad->mapping_data); + else if (mxf_is_jpeg2000_video_essence_track (source_track)) + caps = + mxf_jpeg2000_create_caps (source_package, source_track, + &pad->tags, &pad->handle_essence_element, &pad->mapping_data); break; case MXF_METADATA_TRACK_SOUND_ESSENCE: if (mxf_is_aes_bwf_essence_track (source_track)) |