mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 06:58:56 +00:00
gst/mxf/: Some random cleanup.
Original commit message from CVS: * gst/mxf/mxfalaw.c: (mxf_is_alaw_essence_track): * gst/mxf/mxfalaw.h: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_update_streams): * gst/mxf/mxfjpeg2000.c: (mxf_is_jpeg2000_essence_track): * gst/mxf/mxfjpeg2000.h: * gst/mxf/mxfmpeg.c: (mxf_is_mpeg_essence_track), (mxf_mpeg_es_create_caps), (mxf_mpeg_create_caps): * gst/mxf/mxfmpeg.h: Some random cleanup.
This commit is contained in:
parent
c6d653d945
commit
d1242d04a1
8 changed files with 114 additions and 72 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
2008-11-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
|
* gst/mxf/mxfalaw.c: (mxf_is_alaw_essence_track):
|
||||||
|
* gst/mxf/mxfalaw.h:
|
||||||
|
* gst/mxf/mxfdemux.c:
|
||||||
|
(gst_mxf_demux_handle_header_metadata_update_streams):
|
||||||
|
* gst/mxf/mxfjpeg2000.c: (mxf_is_jpeg2000_essence_track):
|
||||||
|
* gst/mxf/mxfjpeg2000.h:
|
||||||
|
* gst/mxf/mxfmpeg.c: (mxf_is_mpeg_essence_track),
|
||||||
|
(mxf_mpeg_es_create_caps), (mxf_mpeg_create_caps):
|
||||||
|
* gst/mxf/mxfmpeg.h:
|
||||||
|
Some random cleanup.
|
||||||
|
|
||||||
2008-11-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
2008-11-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
* gst/mxf/mxfdemux.c: (gst_mxf_demux_remove_pads),
|
* gst/mxf/mxfdemux.c: (gst_mxf_demux_remove_pads),
|
||||||
|
|
|
@ -34,7 +34,7 @@ GST_DEBUG_CATEGORY_EXTERN (mxf_debug);
|
||||||
#define GST_CAT_DEFAULT mxf_debug
|
#define GST_CAT_DEFAULT mxf_debug
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mxf_is_alaw_audio_essence_track (const MXFMetadataTrack * track)
|
mxf_is_alaw_essence_track (const MXFMetadataTrack * track)
|
||||||
{
|
{
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
|
@ -99,8 +99,8 @@ mxf_alaw_create_caps (MXFMetadataGenericPackage * package,
|
||||||
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->descriptor[i];
|
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->descriptor[i];
|
||||||
f = track->descriptor[i];
|
f = track->descriptor[i];
|
||||||
break;
|
break;
|
||||||
} else if (((MXFMetadataGenericDescriptor *) track->
|
} else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->
|
||||||
descriptor[i])->is_file_descriptor
|
is_file_descriptor
|
||||||
&& ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type !=
|
&& ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type !=
|
||||||
MXF_METADATA_MULTIPLE_DESCRIPTOR) {
|
MXF_METADATA_MULTIPLE_DESCRIPTOR) {
|
||||||
f = track->descriptor[i];
|
f = track->descriptor[i];
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
#include "mxfparse.h"
|
#include "mxfparse.h"
|
||||||
|
|
||||||
gboolean mxf_is_alaw_audio_essence_track (const MXFMetadataTrack *track);
|
gboolean mxf_is_alaw_essence_track (const MXFMetadataTrack *track);
|
||||||
|
|
||||||
GstCaps *
|
GstCaps *
|
||||||
mxf_alaw_create_caps (MXFMetadataGenericPackage *package, MXFMetadataTrack *track, GstTagList **tags, MXFEssenceElementHandler *handler, gpointer *mapping_data);
|
mxf_alaw_create_caps (MXFMetadataGenericPackage *package, MXFMetadataTrack *track, GstTagList **tags, MXFEssenceElementHandler *handler, gpointer *mapping_data);
|
||||||
|
|
|
@ -1305,9 +1305,8 @@ gst_mxf_demux_handle_header_metadata_resolve_references (GstMXFDemux * demux)
|
||||||
MXFMetadataEssenceContainerData, i);
|
MXFMetadataEssenceContainerData, i);
|
||||||
|
|
||||||
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
|
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
|
||||||
if (mxf_ul_is_equal (&demux->
|
if (mxf_ul_is_equal (&demux->content_storage.
|
||||||
content_storage.essence_container_data_uids[j],
|
essence_container_data_uids[j], &data->instance_uid)) {
|
||||||
&data->instance_uid)) {
|
|
||||||
demux->content_storage.essence_container_data[j] = data;
|
demux->content_storage.essence_container_data[j] = data;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1865,15 +1864,15 @@ gst_mxf_demux_handle_header_metadata_update_streams (GstMXFDemux * demux)
|
||||||
|
|
||||||
switch (track_type) {
|
switch (track_type) {
|
||||||
case MXF_METADATA_TRACK_PICTURE_ESSENCE:
|
case MXF_METADATA_TRACK_PICTURE_ESSENCE:
|
||||||
if (mxf_is_mpeg_video_essence_track (source_track))
|
if (mxf_is_mpeg_essence_track (source_track))
|
||||||
caps =
|
caps =
|
||||||
mxf_mpeg_video_create_caps (source_package, source_track,
|
mxf_mpeg_create_caps (source_package, source_track,
|
||||||
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
||||||
else if (mxf_is_dv_dif_essence_track (source_track))
|
else if (mxf_is_dv_dif_essence_track (source_track))
|
||||||
caps =
|
caps =
|
||||||
mxf_dv_dif_create_caps (source_package, source_track,
|
mxf_dv_dif_create_caps (source_package, source_track,
|
||||||
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
||||||
else if (mxf_is_jpeg2000_video_essence_track (source_track))
|
else if (mxf_is_jpeg2000_essence_track (source_track))
|
||||||
caps =
|
caps =
|
||||||
mxf_jpeg2000_create_caps (source_package, source_track,
|
mxf_jpeg2000_create_caps (source_package, source_track,
|
||||||
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
||||||
|
@ -1887,10 +1886,14 @@ gst_mxf_demux_handle_header_metadata_update_streams (GstMXFDemux * demux)
|
||||||
caps =
|
caps =
|
||||||
mxf_dv_dif_create_caps (source_package, source_track,
|
mxf_dv_dif_create_caps (source_package, source_track,
|
||||||
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
||||||
else if (mxf_is_alaw_audio_essence_track (source_track))
|
else if (mxf_is_alaw_essence_track (source_track))
|
||||||
caps =
|
caps =
|
||||||
mxf_alaw_create_caps (source_package, source_track,
|
mxf_alaw_create_caps (source_package, source_track,
|
||||||
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
||||||
|
else if (mxf_is_mpeg_essence_track (source_track))
|
||||||
|
caps =
|
||||||
|
mxf_mpeg_create_caps (source_package, source_track,
|
||||||
|
&pad->tags, &pad->handle_essence_element, &pad->mapping_data);
|
||||||
break;
|
break;
|
||||||
case MXF_METADATA_TRACK_DATA_ESSENCE:
|
case MXF_METADATA_TRACK_DATA_ESSENCE:
|
||||||
if (mxf_is_dv_dif_essence_track (source_track))
|
if (mxf_is_dv_dif_essence_track (source_track))
|
||||||
|
|
|
@ -38,7 +38,7 @@ GST_DEBUG_CATEGORY_EXTERN (mxf_debug);
|
||||||
#define GST_CAT_DEFAULT mxf_debug
|
#define GST_CAT_DEFAULT mxf_debug
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mxf_is_jpeg2000_video_essence_track (const MXFMetadataTrack * track)
|
mxf_is_jpeg2000_essence_track (const MXFMetadataTrack * track)
|
||||||
{
|
{
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
|
@ -106,8 +106,8 @@ mxf_jpeg2000_create_caps (MXFMetadataGenericPackage * package,
|
||||||
p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i];
|
p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i];
|
||||||
f = track->descriptor[i];
|
f = track->descriptor[i];
|
||||||
break;
|
break;
|
||||||
} else if (((MXFMetadataGenericDescriptor *) track->
|
} else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->
|
||||||
descriptor[i])->is_file_descriptor
|
is_file_descriptor
|
||||||
&& ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type !=
|
&& ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type !=
|
||||||
MXF_METADATA_MULTIPLE_DESCRIPTOR) {
|
MXF_METADATA_MULTIPLE_DESCRIPTOR) {
|
||||||
f = track->descriptor[i];
|
f = track->descriptor[i];
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
#include "mxfparse.h"
|
#include "mxfparse.h"
|
||||||
|
|
||||||
gboolean mxf_is_jpeg2000_video_essence_track (const MXFMetadataTrack *track);
|
gboolean mxf_is_jpeg2000_essence_track (const MXFMetadataTrack *track);
|
||||||
|
|
||||||
GstCaps *
|
GstCaps *
|
||||||
mxf_jpeg2000_create_caps (MXFMetadataGenericPackage *package, MXFMetadataTrack *track, GstTagList **tags, MXFEssenceElementHandler *handler, gpointer *mapping_data);
|
mxf_jpeg2000_create_caps (MXFMetadataGenericPackage *package, MXFMetadataTrack *track, GstTagList **tags, MXFEssenceElementHandler *handler, gpointer *mapping_data);
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
/* TODO:
|
/* TODO:
|
||||||
* - Handle PES streams
|
* - Handle PES streams
|
||||||
* - Fix TS/PS demuxers to forward timestamps
|
* - Fix TS/PS demuxers to forward timestamps
|
||||||
|
* - Handle sound/data somehow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@ -195,7 +196,7 @@ void mxf_metadata_mpeg_video_descriptor_reset
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mxf_is_mpeg_video_essence_track (const MXFMetadataTrack * track)
|
mxf_is_mpeg_essence_track (const MXFMetadataTrack * track)
|
||||||
{
|
{
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
|
@ -243,14 +244,84 @@ static const guint8 sony_mpeg4_extradata[] = {
|
||||||
0x01, 0x00, 0x00
|
0x01, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GstCaps *
|
||||||
|
mxf_mpeg_es_create_caps (MXFMetadataGenericPackage * package,
|
||||||
|
MXFMetadataTrack * track, GstTagList ** tags,
|
||||||
|
MXFEssenceElementHandler * handler, gpointer * mapping_data,
|
||||||
|
MXFMetadataFileDescriptor * f,
|
||||||
|
MXFMetadataGenericPictureEssenceDescriptor * p,
|
||||||
|
MXFMetadataGenericSoundEssenceDescriptor * s,
|
||||||
|
MXFMetadataMPEGVideoDescriptor * d)
|
||||||
|
{
|
||||||
|
GstCaps *caps = NULL;
|
||||||
|
|
||||||
|
/* SMPTE RP224 */
|
||||||
|
if (!p || mxf_ul_is_zero (&p->picture_essence_coding)) {
|
||||||
|
GST_WARNING
|
||||||
|
("No picture essence descriptor or no picture essence coding defined");
|
||||||
|
caps =
|
||||||
|
gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 2,
|
||||||
|
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
||||||
|
} else if (p->picture_essence_coding.u[0] != 0x06
|
||||||
|
|| p->picture_essence_coding.u[1] != 0x0e
|
||||||
|
|| p->picture_essence_coding.u[2] != 0x2b
|
||||||
|
|| p->picture_essence_coding.u[3] != 0x34
|
||||||
|
|| p->picture_essence_coding.u[4] != 0x04
|
||||||
|
|| p->picture_essence_coding.u[5] != 0x01
|
||||||
|
|| p->picture_essence_coding.u[6] != 0x01
|
||||||
|
|| p->picture_essence_coding.u[8] != 0x04
|
||||||
|
|| p->picture_essence_coding.u[9] != 0x01
|
||||||
|
|| p->picture_essence_coding.u[10] != 0x02
|
||||||
|
|| p->picture_essence_coding.u[11] != 0x02
|
||||||
|
|| p->picture_essence_coding.u[12] != 0x01) {
|
||||||
|
GST_ERROR ("No MPEG picture essence coding");
|
||||||
|
caps = NULL;
|
||||||
|
} else if (p->picture_essence_coding.u[13] >= 0x01 &&
|
||||||
|
p->picture_essence_coding.u[13] <= 0x08) {
|
||||||
|
caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 2,
|
||||||
|
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
||||||
|
} else if (p->picture_essence_coding.u[13] == 0x10) {
|
||||||
|
caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 1,
|
||||||
|
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
||||||
|
} else if (p->picture_essence_coding.u[13] == 0x20) {
|
||||||
|
MXFLocalTag *local_tag =
|
||||||
|
(((MXFMetadataGenericDescriptor *) f)->other_tags) ?
|
||||||
|
g_hash_table_lookup (((MXFMetadataGenericDescriptor *)
|
||||||
|
f)->other_tags, &sony_mpeg4_extradata) : NULL;
|
||||||
|
|
||||||
|
caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 4,
|
||||||
|
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
||||||
|
|
||||||
|
if (local_tag) {
|
||||||
|
GstBuffer *codec_data = NULL;
|
||||||
|
codec_data = gst_buffer_new_and_alloc (local_tag->size);
|
||||||
|
memcpy (GST_BUFFER_DATA (codec_data), local_tag->data, local_tag->size);
|
||||||
|
gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, codec_data,
|
||||||
|
NULL);
|
||||||
|
gst_buffer_unref (codec_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
GST_ERROR ("Unsupported MPEG picture essence coding 0x%02x",
|
||||||
|
p->picture_essence_coding.u[13]);
|
||||||
|
caps = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caps)
|
||||||
|
*handler = mxf_mpeg_video_handle_essence_element;
|
||||||
|
|
||||||
|
return caps;
|
||||||
|
}
|
||||||
|
|
||||||
GstCaps *
|
GstCaps *
|
||||||
mxf_mpeg_video_create_caps (MXFMetadataGenericPackage * package,
|
mxf_mpeg_create_caps (MXFMetadataGenericPackage * package,
|
||||||
MXFMetadataTrack * track, GstTagList ** tags,
|
MXFMetadataTrack * track, GstTagList ** tags,
|
||||||
MXFEssenceElementHandler * handler, gpointer * mapping_data)
|
MXFEssenceElementHandler * handler, gpointer * mapping_data)
|
||||||
{
|
{
|
||||||
MXFMetadataMPEGVideoDescriptor *d = NULL;
|
MXFMetadataMPEGVideoDescriptor *d = NULL;
|
||||||
MXFMetadataFileDescriptor *f = NULL;
|
MXFMetadataFileDescriptor *f = NULL;
|
||||||
MXFMetadataGenericPictureEssenceDescriptor *p = NULL;
|
MXFMetadataGenericPictureEssenceDescriptor *p = NULL;
|
||||||
|
MXFMetadataGenericSoundEssenceDescriptor *s = NULL;
|
||||||
guint i;
|
guint i;
|
||||||
GstCaps *caps = NULL;
|
GstCaps *caps = NULL;
|
||||||
|
|
||||||
|
@ -276,6 +347,11 @@ mxf_mpeg_video_create_caps (MXFMetadataGenericPackage * package,
|
||||||
f = track->descriptor[i];
|
f = track->descriptor[i];
|
||||||
p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i];
|
p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i];
|
||||||
break;
|
break;
|
||||||
|
} else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->type ==
|
||||||
|
MXF_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR) {
|
||||||
|
f = track->descriptor[i];
|
||||||
|
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->descriptor[i];
|
||||||
|
break;
|
||||||
} else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->type ==
|
} else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->type ==
|
||||||
MXF_METADATA_FILE_DESCRIPTOR) {
|
MXF_METADATA_FILE_DESCRIPTOR) {
|
||||||
f = track->descriptor[i];
|
f = track->descriptor[i];
|
||||||
|
@ -287,62 +363,13 @@ mxf_mpeg_video_create_caps (MXFMetadataGenericPackage * package,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
*handler = mxf_mpeg_video_handle_essence_element;
|
|
||||||
/* SMPTE 381M 7 */
|
/* SMPTE 381M 7 */
|
||||||
if (f->essence_container.u[13] == 0x04) {
|
if (f->essence_container.u[13] == 0x04) {
|
||||||
GST_DEBUG ("Found MPEG ES stream");
|
GST_DEBUG ("Found MPEG ES stream");
|
||||||
|
|
||||||
/* SMPTE RP224 */
|
caps =
|
||||||
if (!p || mxf_ul_is_zero (&p->picture_essence_coding)) {
|
mxf_mpeg_es_create_caps (package, track, tags, handler, mapping_data, f,
|
||||||
GST_WARNING
|
p, s, d);
|
||||||
("No picture essence descriptor or no picture essence coding defined");
|
|
||||||
caps =
|
|
||||||
gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 2,
|
|
||||||
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
|
||||||
} else if (p->picture_essence_coding.u[0] != 0x06
|
|
||||||
|| p->picture_essence_coding.u[1] != 0x0e
|
|
||||||
|| p->picture_essence_coding.u[2] != 0x2b
|
|
||||||
|| p->picture_essence_coding.u[3] != 0x34
|
|
||||||
|| p->picture_essence_coding.u[4] != 0x04
|
|
||||||
|| p->picture_essence_coding.u[5] != 0x01
|
|
||||||
|| p->picture_essence_coding.u[6] != 0x01
|
|
||||||
|| p->picture_essence_coding.u[8] != 0x04
|
|
||||||
|| p->picture_essence_coding.u[9] != 0x01
|
|
||||||
|| p->picture_essence_coding.u[10] != 0x02
|
|
||||||
|| p->picture_essence_coding.u[11] != 0x02
|
|
||||||
|| p->picture_essence_coding.u[12] != 0x01) {
|
|
||||||
GST_ERROR ("No MPEG picture essence coding");
|
|
||||||
caps = NULL;
|
|
||||||
} else if (p->picture_essence_coding.u[13] >= 0x01 &&
|
|
||||||
p->picture_essence_coding.u[13] <= 0x08) {
|
|
||||||
caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 2,
|
|
||||||
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
|
||||||
} else if (p->picture_essence_coding.u[13] == 0x10) {
|
|
||||||
caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 1,
|
|
||||||
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
|
||||||
} else if (p->picture_essence_coding.u[13] == 0x20) {
|
|
||||||
MXFLocalTag *local_tag =
|
|
||||||
(((MXFMetadataGenericDescriptor *) f)->
|
|
||||||
other_tags) ? g_hash_table_lookup (((MXFMetadataGenericDescriptor *)
|
|
||||||
f)->other_tags, &sony_mpeg4_extradata) : NULL;
|
|
||||||
|
|
||||||
caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 4,
|
|
||||||
"systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
|
|
||||||
|
|
||||||
if (local_tag) {
|
|
||||||
GstBuffer *codec_data = NULL;
|
|
||||||
codec_data = gst_buffer_new_and_alloc (local_tag->size);
|
|
||||||
memcpy (GST_BUFFER_DATA (codec_data), local_tag->data, local_tag->size);
|
|
||||||
gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, codec_data,
|
|
||||||
NULL);
|
|
||||||
gst_buffer_unref (codec_data);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
GST_ERROR ("Unsupported MPEG picture essence coding 0x%02x",
|
|
||||||
p->picture_essence_coding.u[13]);
|
|
||||||
caps = NULL;
|
|
||||||
}
|
|
||||||
} else if (f->essence_container.u[13] == 0x07) {
|
} else if (f->essence_container.u[13] == 0x07) {
|
||||||
GST_ERROR ("MPEG PES streams not supported yet");
|
GST_ERROR ("MPEG PES streams not supported yet");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -354,7 +381,6 @@ mxf_mpeg_video_create_caps (MXFMetadataGenericPackage * package,
|
||||||
} else if (f->essence_container.u[13] == 0x09) {
|
} else if (f->essence_container.u[13] == 0x09) {
|
||||||
GST_DEBUG ("Found MPEG TS stream");
|
GST_DEBUG ("Found MPEG TS stream");
|
||||||
caps = gst_caps_new_simple ("video/mpegts", NULL);
|
caps = gst_caps_new_simple ("video/mpegts", NULL);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p)
|
if (p)
|
||||||
|
|
|
@ -52,9 +52,9 @@ typedef struct {
|
||||||
gboolean mxf_metadata_mpeg_video_descriptor_handle_tag (MXFMetadataGenericDescriptor *descriptor, const MXFPrimerPack *primer, guint16 tag, const guint8 *tag_data, guint16 tag_size);
|
gboolean mxf_metadata_mpeg_video_descriptor_handle_tag (MXFMetadataGenericDescriptor *descriptor, const MXFPrimerPack *primer, guint16 tag, const guint8 *tag_data, guint16 tag_size);
|
||||||
void mxf_metadata_mpeg_video_descriptor_reset (MXFMetadataMPEGVideoDescriptor *descriptor);
|
void mxf_metadata_mpeg_video_descriptor_reset (MXFMetadataMPEGVideoDescriptor *descriptor);
|
||||||
|
|
||||||
gboolean mxf_is_mpeg_video_essence_track (const MXFMetadataTrack *track);
|
gboolean mxf_is_mpeg_essence_track (const MXFMetadataTrack *track);
|
||||||
|
|
||||||
GstCaps *
|
GstCaps *
|
||||||
mxf_mpeg_video_create_caps (MXFMetadataGenericPackage *package, MXFMetadataTrack *track, GstTagList **tags, MXFEssenceElementHandler *handler, gpointer *mapping_data);
|
mxf_mpeg_create_caps (MXFMetadataGenericPackage *package, MXFMetadataTrack *track, GstTagList **tags, MXFEssenceElementHandler *handler, gpointer *mapping_data);
|
||||||
|
|
||||||
#endif /* __MXF_MPEG_H__ */
|
#endif /* __MXF_MPEG_H__ */
|
||||||
|
|
Loading…
Reference in a new issue