Jeremy Hinegardner
40bbbce7e8
movenc: Don't add base_data_offset in tfhd for PIFF files
...
According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by libavformat
state that they are 'piff' compatible via 'ftyp' box, this needs to be
corrected.
[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-05-17 00:28:50 +03:00
Martin Storsjö
61d36761ef
movenc: Simplify code by using avio_wb24
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-01-30 13:45:45 +02:00
Luca Barbato
8034130e06
rtp: set the payload type as stream id
...
Support multiple video/audio streams with different format in the
same session.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2012-11-14 20:38:51 +01:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Diego Biurrun
11d4e92ed9
avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
2012-10-01 10:24:28 +02:00
Anton Khirnov
3b4bb19e63
lavf: flush the output AVIOContext in av_write_trailer().
...
This is consistent with stdio and is what we want to do in all cases.
Fixes a bug in the voc muxer which didn't flush in write_trailer()
previously. This is the cause of the change in the test results.
2012-09-15 18:25:07 +02:00
Martin Storsjö
e6153f173a
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-09-04 23:13:44 +03:00
Martin Storsjö
d58dd4b5b5
avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-09-04 23:13:38 +03:00
Martin Storsjö
124134e424
avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-09-04 23:13:32 +03:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00
Diego Biurrun
0177b7d23a
Improve descriptiveness of a number of codec and container long names
2012-07-30 20:46:55 +02:00
Diego Biurrun
6774247a9d
avformat: Drop pointless "format" from container long names
2012-07-30 13:59:06 +02:00
Ronald S. Bultje
fd48721849
lavf: use conditional notation for default codec in muxer declarations.
...
This removes the use of macro nesting in these code constructs, which
makes it easier to parse in pre-processors.
2012-07-22 16:10:21 -07:00
Ronald S. Bultje
5354a904fe
rtsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.
...
This makes usage of the macro look more natural when
used with array entries.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2012-07-21 15:35:01 -04:00
Martin Storsjö
9e74db6850
mov: Support muxing/demuxing iLBC
...
The packet size, signalled via block_align, has to be passed via
the container.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-06-18 22:00:35 +03:00
Alex Converse
41e9682af2
movenc: Write chan atom for all audio tracks in mov mode movies.
2012-06-04 10:08:31 -07:00
Alex Converse
ed7bdd8647
movenc: Don't write the 'wave' atom or its child 'enda' for lpcm audio.
...
It's left over from stsd v0. QuickTime 7 no longer writes 'wave' or 'enda'
when 'lpcm' is the audio tag.
2012-05-25 11:24:43 -07:00
Alex Converse
dc878b96a7
movenc: Support high sample rates in isomedia formats by setting the sample rate field in stsd to 0.
...
Libisomediafile appears to always set this field to zero.
2012-04-20 13:45:35 -07:00
Alex Converse
73b7437f1d
movenc: Remove a dead initialization
2012-04-12 18:34:45 -07:00
Luca Barbato
ebbede2265
movenc: small refactor mov_write_packet
...
Share the formerly internal write_packet with the hinter and move the
fragment flush logic to the user facing one since it is not concerned
about movtrack-only streams.
Fixes bug #263
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-04-11 14:38:37 +03:00
Luca Barbato
18b59956e0
movenc: remove redundant check
...
The proper check is already in mov_write_header.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-04-11 14:38:36 +03:00
Martin Storsjö
20234a4bd7
cosmetics: Align muxer/demuxer declarations
...
Also add missing trailing commas, break long codec_tag lines and
add spaces in codec_tag declarations.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-04-06 19:19:59 +03:00
Diego Biurrun
a92be9b856
Replace memset(0) by zero initializations.
...
Also remove one pointless zero initialization in rangecoder.c.
2012-03-28 09:38:33 +02:00
Martin Storsjö
68893afe1d
movenc: Merge if statements
...
This isn't exactly equivalent with the earlier code for codecs
other than H264 and VC1, but those are two only codecs supported
by this codepath anyway, and it simplifies it a bit.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-03-25 01:06:49 +02:00
Martin Storsjö
d5ed5e7d0c
avc: Add a function for converting mp4 style extradata to annex b
...
Make movenc use this function instead of the current custom
conversion function.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-03-24 22:53:18 +02:00
Martin Storsjö
39f5a5462c
movenc: Add a min_frag_duration option
...
The other fragmentation options (frag_duration, frag_size and
frag_keyframe) are combined with OR, cutting fragments at the
first of the conditions being fulfilled.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-03-20 11:18:05 +02:00
Justin Ruggles
f234e8a32e
movenc: use timestamps instead of frame_size for samples-per-packet
...
For encoding, AVCodecContext.frame_size is the number of input samples to
send to the encoder and does not necessarily correspond directly to the
timestamps of the output packets.
2012-02-27 04:33:37 -05:00
Justin Ruggles
f3dab5fb6d
movenc: use the first cluster duration as the tfhd default duration
2012-02-27 04:33:37 -05:00
Justin Ruggles
681d17264f
movenc: factorize calculation of cluster duration into a separate function
2012-02-27 04:33:37 -05:00
Martin Storsjö
c2ff63e3ac
rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTS
...
This simplifies adding more flags to the macro.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-23 15:27:42 +02:00
Martin Storsjö
0c7b8b758a
movenc: Buffer the mdat for the initial moov fragment, too
...
This allows writing QuickTime-compatible fragmented mp4 (with
a non-empty moov atom) to a non-seekable output.
This buffers the mdat for the initial fragment just as it does
for all normal fragments, too. Previously, the resulting
atom structure was mdat,moov, moof,mdat ..., while it now
is moov,mdat, moof,mdat.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-22 12:27:39 +02:00
Martin Storsjö
5be805d38c
mov: Use defines for sample flags in fragments
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-18 21:13:36 +02:00
Martin Storsjö
3eec23f3cd
mov: Use defines for trun flags
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-18 21:13:35 +02:00
Martin Storsjö
73328f24fa
mov: Use defines for tfhd flags
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-18 21:13:33 +02:00
Martin Storsjö
5302633919
movenc: Write the unknown duration as 64 bit fields in ismv
...
This is required for the files to play back properly in
windows media player.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-18 00:03:32 +02:00
Martin Storsjö
99a357f4c5
movenc: Write track durations with all bits set if duration is unknown
...
According to 14496-12, the duration should be all 1s if
the duration is unknown. This is the case if writing a moov
atom without any samples described in it (e.g. as in ismv files).
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-18 00:03:30 +02:00
Martin Storsjö
51df7b232f
movenc: Don't set a default sample duration when creating ismv
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-16 17:49:07 +01:00
Martin Storsjö
167f3b8de7
libavformat: Add an ff_ prefix to some lavf internal symbols
...
Prefix the functions/tables brktimegm, pcm_read_seek,
dv_offset_reset, voc_get_packet, codec_movaudio_tags,
codec_movvideo_tags.
After this, lavf has no global symbols without the proper prefix.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-15 22:06:17 +02:00
Martin Storsjö
4ace130ee6
movenc: Support muxing VC1
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-14 16:12:18 +02:00
Martin Storsjö
5d561514b7
movenc: Support muxing wmapro in ismv/isma
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-13 19:57:28 +02:00
Martin Storsjö
b7d3dd907f
movenc: cosmetics: Get rid of camelCase identifiers
...
Also add spacing around operators on touched lines, and split
one line to match the common style.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-30 19:24:39 +02:00
Martin Storsjö
e771e6dd63
movenc: Allow writing to a non-seekable output if using empty moov
...
In this mode, no seeks will be done except for within moov/moof
fragments, which should fit within the AVIOContext buffer.
This allows pushing live smooth streaming format data to
a live publishing point on IIS over http.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-27 21:12:41 +02:00
Martin Storsjö
f532210499
movenc: Support adding isml (smooth streaming live) metadata
...
This metadata is required for pushing a live stream to an IIS
publishing point.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-27 21:12:28 +02:00
Anton Khirnov
df0bb26aca
lavf: remove disabled FF_API_TIMESTAMP cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
2d70912cc2
lavf: remove disabled FF_API_FLAG_RTP_HINT cruft
2012-01-27 10:52:42 +01:00
Martin Storsjö
9f9c45f4b6
movenc: Don't require frame_size to be set for modes other than mov
...
The field frame_size isn't written to the output anywhere except
than in mov.
This facilitates stream copy from formats that don't set frame_size.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-25 22:25:56 +02:00
Martin Storsjö
990a746cec
movenc: Reindent a block
...
Also add some space around operators and wrap a comment
that extends past the 80 char "limit"/guideline.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-25 22:13:56 +02:00
Martin Storsjö
3b5d4428ac
movenc: Write the sample rate instead of time scale in the stsd atom
...
For ismv/isma, the time scale might not be the same as the sample
rate.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-25 12:15:41 +02:00
Martin Storsjö
4ddd54dab4
movenc: Add a separate ismv/isma (smooth streaming) muxer
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-25 12:15:41 +02:00
Martin Storsjö
b613ff5e93
movenc: Allow the caller to decide on fragmentation
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-01-25 12:15:41 +02:00