1 /*****************************************************************************
3 *****************************************************************************
4 * Copyright (C) 2012-2017 L-SMASH project
6 * Authors: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
8 * Permission to use, copy, modify, and/or distribute this software for any
9 * purpose with or without fee is hereby granted, provided that the above
10 * copyright notice and this permission notice appear in all copies.
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 *****************************************************************************/
21 /* This file is available under an ISC license. */
23 struct lsmash_codec_specific_list_tag
25 lsmash_entry_list_t list
;
28 lsmash_codec_specific_t
*isom_duplicate_codec_specific_data
30 lsmash_codec_specific_t
*specific
33 lsmash_codec_specific_t
*isom_get_codec_specific
35 lsmash_codec_specific_list_t
*opaque
,
36 lsmash_codec_specific_data_type type
39 int isom_setup_sample_description
42 lsmash_media_type media_type
,
43 lsmash_summary_t
*summary
46 lsmash_summary_t
*isom_create_video_summary_from_description
48 isom_sample_entry_t
*sample_entry
51 lsmash_summary_t
*isom_create_audio_summary_from_description
53 isom_sample_entry_t
*sample_entry
56 int isom_compare_opaque_extensions
62 int isom_get_implicit_qt_fixed_comp_audio_sample_quants
64 isom_audio_entry_t
*audio
,
65 uint32_t *samples_per_packet
,
66 uint32_t *constant_bytes_per_frame
,
70 isom_bitrate_updater_t isom_get_bitrate_updater
72 isom_sample_entry_t
*sample_entry