mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-25 16:48:11 +00:00
cslg: Add Composition Shift Least Greatest Atom
This simply add fourcc and dump function for the cslg Atom. https://bugzilla.gnome.org/show_bug.cgi?id=751103
This commit is contained in:
parent
8a406c9c38
commit
d6e1e744a7
4 changed files with 26 additions and 0 deletions
|
@ -102,6 +102,7 @@ G_BEGIN_DECLS
|
||||||
#define FOURCC_crgn GST_MAKE_FOURCC('c','r','g','n')
|
#define FOURCC_crgn GST_MAKE_FOURCC('c','r','g','n')
|
||||||
#define FOURCC_ctab GST_MAKE_FOURCC('c','t','a','b')
|
#define FOURCC_ctab GST_MAKE_FOURCC('c','t','a','b')
|
||||||
#define FOURCC_ctts GST_MAKE_FOURCC('c','t','t','s')
|
#define FOURCC_ctts GST_MAKE_FOURCC('c','t','t','s')
|
||||||
|
#define FOURCC_cslg GST_MAKE_FOURCC('c','s','l','g')
|
||||||
#define FOURCC_dac3 GST_MAKE_FOURCC('d','a','c','3')
|
#define FOURCC_dac3 GST_MAKE_FOURCC('d','a','c','3')
|
||||||
#define FOURCC_data GST_MAKE_FOURCC('d','a','t','a')
|
#define FOURCC_data GST_MAKE_FOURCC('d','a','t','a')
|
||||||
#define FOURCC_dcom GST_MAKE_FOURCC('d','c','o','m')
|
#define FOURCC_dcom GST_MAKE_FOURCC('d','c','o','m')
|
||||||
|
|
|
@ -521,6 +521,28 @@ qtdemux_dump_ctts (GstQTDemux * qtdemux, GstByteReader * data, int depth)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
qtdemux_dump_cslg (GstQTDemux * qtdemux, GstByteReader * data, int depth)
|
||||||
|
{
|
||||||
|
guint32 ver_flags = 0, shift = 0;
|
||||||
|
gint32 least_offset = 0, start_time = 0, end_time = 0;
|
||||||
|
|
||||||
|
if (!gst_byte_reader_get_uint32_be (data, &ver_flags) ||
|
||||||
|
!gst_byte_reader_get_uint32_be (data, &shift) ||
|
||||||
|
!gst_byte_reader_get_int32_be (data, &least_offset) ||
|
||||||
|
!gst_byte_reader_get_int32_be (data, &start_time) ||
|
||||||
|
!gst_byte_reader_get_int32_be (data, &end_time))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
GST_LOG ("%*s version/flags: %08x", depth, "", ver_flags);
|
||||||
|
GST_LOG ("%*s shift: %u", depth, "", shift);
|
||||||
|
GST_LOG ("%*s least offset: %d", depth, "", least_offset);
|
||||||
|
GST_LOG ("%*s start time: %d", depth, "", start_time);
|
||||||
|
GST_LOG ("%*s end time: %d", depth, "", end_time);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
qtdemux_dump_co64 (GstQTDemux * qtdemux, GstByteReader * data, int depth)
|
qtdemux_dump_co64 (GstQTDemux * qtdemux, GstByteReader * data, int depth)
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,6 +61,8 @@ gboolean qtdemux_dump_cmvd (GstQTDemux * qtdemux, GstByteReader * data,
|
||||||
int depth);
|
int depth);
|
||||||
gboolean qtdemux_dump_ctts (GstQTDemux * qtdemux, GstByteReader * data,
|
gboolean qtdemux_dump_ctts (GstQTDemux * qtdemux, GstByteReader * data,
|
||||||
int depth);
|
int depth);
|
||||||
|
gboolean qtdemux_dump_cslg (GstQTDemux * qtdemux, GstByteReader * data,
|
||||||
|
int depth);
|
||||||
gboolean qtdemux_dump_mfro (GstQTDemux * qtdemux, GstByteReader * data,
|
gboolean qtdemux_dump_mfro (GstQTDemux * qtdemux, GstByteReader * data,
|
||||||
int depth);
|
int depth);
|
||||||
gboolean qtdemux_dump_mfhd (GstQTDemux * qtdemux, GstByteReader * data,
|
gboolean qtdemux_dump_mfhd (GstQTDemux * qtdemux, GstByteReader * data,
|
||||||
|
|
|
@ -146,6 +146,7 @@ static const QtNodeType qt_node_types[] = {
|
||||||
{FOURCC_rdrf, "rdrf", 0,},
|
{FOURCC_rdrf, "rdrf", 0,},
|
||||||
{FOURCC__gen, "Custom Genre", QT_FLAG_CONTAINER,},
|
{FOURCC__gen, "Custom Genre", QT_FLAG_CONTAINER,},
|
||||||
{FOURCC_ctts, "Composition time to sample", 0, qtdemux_dump_ctts},
|
{FOURCC_ctts, "Composition time to sample", 0, qtdemux_dump_ctts},
|
||||||
|
{FOURCC_cslg, "Composition Shift Least Greatest", 0, qtdemux_dump_cslg},
|
||||||
{FOURCC_XiTh, "XiTh", 0},
|
{FOURCC_XiTh, "XiTh", 0},
|
||||||
{FOURCC_XdxT, "XdxT", 0},
|
{FOURCC_XdxT, "XdxT", 0},
|
||||||
{FOURCC_loci, "loci", 0},
|
{FOURCC_loci, "loci", 0},
|
||||||
|
|
Loading…
Reference in a new issue