Olivier Crete
8fcd95267d
[MOVED FROM GST-P-FARSIGHT] Remove useless checks, document locking
...
20080704222103-3e2dc-47a7f49c414f98a188ffc42b07189daf5147483b.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
ae01ec1980
[MOVED FROM GST-P-FARSIGHT] make sirenenc thread safe
...
20080704221743-3e2dc-f93da86438f753e14be25166aee45f8802f7d100.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
1c3fa06a8f
[MOVED FROM GST-P-FARSIGHT] Replace use GST_DEBUG_OBJECT in sirenenc
...
20080704201830-3e2dc-8f3e401aaa594c8cc5853b73f41ca5cb047ee2d3.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
bda906038d
[MOVED FROM GST-P-FARSIGHT] Port sirendec to Gstelement
...
20080704201744-3e2dc-99bf7b86e42da363d8c826449d84b43751572d5e.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
84a188ff73
[MOVED FROM GST-P-FARSIGHT] Release ref at the end of chain
...
20080704200454-3e2dc-386f2685882a74d01ce503f91396ea37506dbe83.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
ba15441117
[MOVED FROM GST-P-FARSIGHT] Remove useless call to peek_parent
...
20080704200315-3e2dc-6b30efd2d32b6ca96609f4bdc0c3e286f4441746.gz
2009-02-17 19:29:40 +01:00
Olivier Crete
1d94ecf2fd
[MOVED FROM GST-P-FARSIGHT] Make GstSirenEnc use GST_*_OBJECT appropriately
...
20080704200029-3e2dc-f68fdaaa8929039fd8413ff0bf8ff514f6e4fbe1.gz
2009-02-17 19:29:39 +01:00
Olivier Crete
8722c6e6f5
[MOVED FROM GST-P-FARSIGHT] Port sirenenc to gstelement
...
20080704195102-3e2dc-cd7687512ac560faaf15f53e1e262d1874a36cdf.gz
2009-02-17 19:29:39 +01:00
Olivier Crete
b696a8dd6c
[MOVED FROM GST-P-FARSIGHT] Link modules with libm where required
...
20080428222237-3e2dc-b1e9120c1e9ca1a510bfd7c27e2d45f0d4a12504.gz
2009-02-17 19:29:39 +01:00
Youness Alaoui
c931b38ad6
[MOVED FROM GST-P-FARSIGHT] Removed debug output
...
20080412234325-4f0f6-36b946a7ca3ab4e5802917b8930f036c50a93a29.gz
2009-02-17 19:29:39 +01:00
Youness Alaoui
9636cecbd6
[MOVED FROM GST-P-FARSIGHT] Oups, typo
...
20080410234328-4f0f6-962e375e78da05eab52892a57d3226fdd2ffc86d.gz
2009-02-17 19:29:39 +01:00
Youness Alaoui
b9ea3bbe4f
[MOVED FROM GST-P-FARSIGHT] Added Siren encoder/decoder/payloader/depayloader
...
20080410070116-4f0f6-72ffbdbb262f07bfabd1e469973a01b3359bee45.gz
2009-02-17 19:29:39 +01:00
Olivier Crête
79ebcb8fe5
Add liveadder to the docs
2009-02-17 19:29:06 +01:00
Olivier Crête
cf21405a7f
Document the liveadder
2009-02-17 19:29:06 +01:00
Olivier Crête
6edfec64ee
Moved liveadder from gst-plugins-farsight to -bad
...
Re-indent liveadder in gst style and add it to configure
2009-02-17 19:29:06 +01:00
Olivier Crête
4b33d319fc
[MOVED FROM GST-P-FARSIGHT] Use log for message thats on every buffer
2009-02-17 19:29:06 +01:00
Olivier Crête
e7da8d9ac6
[MOVED FROM GST-P-FARSIGHT] Remove .git-darcs-dir files
2009-02-17 19:29:06 +01:00
Edward Hervey
8a533c4282
[MOVED FROM GST-P-FARSIGHT] liveadder : Handle jitter in incoming buffers
...
Incoming buffers (especially those from an RTP connection) might have slight timestamp jitter. This is normally handled by audiosink (accepting up to 500ms of jitter).
Here we accept a maximum jitter of 10ms. If a buffer is within 10ms of the expected time, we correct its timestamp.
2009-02-17 19:29:06 +01:00
Olivier Crete
28d1fc48a6
[MOVED FROM GST-P-FARSIGHT] Add handling of position query to liveadder
...
20080704185721-3e2dc-7a687e346e74b44fa847c5e5b6eb64c3e0949764.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
9e6d4708f8
[MOVED FROM GST-P-FARSIGHT] Replace C99 llabs with C89 code
...
20080521172005-3e2dc-8e637d1daa0e27cc2edae1fdfd0dbf23896fb5bc.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
91dcd54ae5
[MOVED FROM GST-P-FARSIGHT] Reset vars before restarting thread on flush stop
...
20080515012257-3e2dc-e3521752cf3eaf2b8767f4c620eadfc24a8e8e31.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
4d44cf5fe2
[MOVED FROM GST-P-FARSIGHT] Implement first version of seeking
...
20080515012227-3e2dc-7f53f78d1c3dfdcdb6e7ad53e6c7f16d5e998a05.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
72ca8467eb
[MOVED FROM GST-P-FARSIGHT] Add duration query from adder
...
20080515012142-3e2dc-2768199183bfb9d569be1389e382bedc02e3e95e.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
3c835d5536
[MOVED FROM GST-P-FARSIGHT] Move flush stop inside where it belongs
...
20080515000214-3e2dc-cda5cddd1ead5c48a554e9e9bc75ae68437bcdfb.gz
2009-02-17 19:29:06 +01:00
Olivier Crete
703b3326cc
[MOVED FROM GST-P-FARSIGHT] Have the liveadder remember if its playing or not
...
20080514234948-3e2dc-9064a27a54aef598444aa6ad6463345979120828.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
75edc07516
[MOVED FROM GST-P-FARSIGHT] Push out buffer if we're not playing while there is no clock
...
20080514234910-3e2dc-1096eb7dc3fada19afc81dcd536d9edc821d0da9.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
5f37d95613
[MOVED FROM GST-P-FARSIGHT] Empty the queue on flush start
...
20080514232643-3e2dc-5a3f52a3fd3771164dea95bd14410d76b4fce2aa.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
c653d0ac38
[MOVED FROM GST-P-FARSIGHT] Reset pad private on flush stop
...
20080514231752-3e2dc-113fec2faafc2dc11c1eaa818cb488b71e601f9b.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
df72e5ca58
[MOVED FROM GST-P-FARSIGHT] Pass pad as pad to reset_pad_private
...
20080514231643-3e2dc-006960b9cdc3ce8e1f890dc6d194778cbc7c9736.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
263a914b08
[MOVED FROM GST-P-FARSIGHT] Print debug message if we return non-ok from chain
...
20080502191004-3e2dc-f1f7237c06c1158cf27e29d32a69de06f7112506.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
8a2f376f04
[MOVED FROM GST-P-FARSIGHT] Don't return EOS if we have no pads
...
20080502190954-3e2dc-41351225e909e6d0837a6a60e187d33ab186ad76.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
e23efd9e81
[MOVED FROM GST-P-FARSIGHT] Check that the format is NOT time
...
20080501203154-3e2dc-780e46b1f0fe76a66e2d79a2eb85d764ff5f182f.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
095636bfd2
[MOVED FROM GST-P-FARSIGHT] Don't use g_queue_clear()
...
20080428221737-3e2dc-bb8e4748751c29e0857313a09f85067ab12c3fe4.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
dbeab8d0b8
[MOVED FROM GST-P-FARSIGHT] Pad push event after the lock has been unlocked
...
20080501200940-3e2dc-ae5fec5f79f32777bba649d0d700d49f7bedff40.gz
2009-02-17 19:29:05 +01:00
Olivier Crete
312b4156c1
[MOVED FROM GST-P-FARSIGHT] Create generic segment is none received and refuse non-time segments
...
20080501182554-3e2dc-ace5ca000414428d6d94478adc5927c9f91975df.gz
2009-02-17 19:29:05 +01:00
Simon McVittie
c6df5201b0
[MOVED FROM GST-P-FARSIGHT] Add missing semicolon (did anyone test this?!)
...
20080429140802-53eee-41fdb4391eddb125b7e34019427cfa5dc8afd6c0.gz
2009-02-17 19:29:05 +01:00
Youness Alaoui
1c57d2d70c
[MOVED FROM GST-P-FARSIGHT] Robustness check, make sure the queue is not empty before using the head element
...
20080429003600-4f0f6-708c654b65812caeb3612248dbe0b2e62567c250.gz
2009-02-17 19:29:05 +01:00
Youness Alaoui
7a4034db44
[MOVED FROM GST-P-FARSIGHT] Remove useless condition
...
20080429003412-4f0f6-9e890ad0ac442791a8b22650a75cb754d7f2d723.gz
2009-02-17 19:29:05 +01:00
Youness Alaoui
cd3f191dab
[MOVED FROM GST-P-FARSIGHT] check against audio_buffer_clip which can return NULL if the buffer is outside the clipping segment
...
20080429000339-4f0f6-7e4e31f066b87e29265ddb3978929e51efbff47d.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
b4ac5eabc9
[MOVED FROM GST-P-FARSIGHT] Fix object locking in setcaps
...
20080428234948-4f0f6-4586434b4308e114f495e926996fc19483c1056f.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
806f8e05c6
[MOVED FROM GST-P-FARSIGHT] Use g_cond_broadcast instead of g_cond_signal
...
20080428234935-4f0f6-e51fab31772b32f2fb080ad70c6bedefc5c26dc6.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
2f5fd70ad8
[MOVED FROM GST-P-FARSIGHT] Max latency should also be increased by our own latency
...
20080428232851-4f0f6-05f9a89403cd54211f2f4a6595704270eab9616f.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
89566bfc8a
[MOVED FROM GST-P-FARSIGHT] Fix deadlock on invalid timestamp error
...
20080428223606-3e2dc-963e48b33efaf84c16d4ec4b789a6dfb2d9358ad.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
72efe4c3d7
[MOVED FROM GST-P-FARSIGHT] Added comment for clarity
...
20080428161958-4f0f6-cbaa166fbde99013b555c69ab48d964d75773a7f.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
a3ad3be905
[MOVED FROM GST-P-FARSIGHT] added TODO comments
...
20080428161235-4f0f6-fbc78533d29d37b65add6f6046fec17ce5e30cae.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
5cc67e45c5
[MOVED FROM GST-P-FARSIGHT] check_eos will always return FALSE here..
...
20080428155927-4f0f6-1a93e295d3df68a96367b75060a89a947efa8944.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
2f17739998
[MOVED FROM GST-P-FARSIGHT] added comment on the no clock error
...
20080428154956-4f0f6-7e24ed31f9c822e4323b681a54bc23f03c1a325e.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
2a2d21a1f2
[MOVED FROM GST-P-FARSIGHT] error if no clock is available
...
20080428154850-4f0f6-38fdc4134835c457d0054301579d8cd4cbd4989a.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
c9450ad8e2
[MOVED FROM GST-P-FARSIGHT] renaming unused arg
...
20080425210456-4f0f6-ab1cdc944c9bcd779504292b21dc1787d6cb62a1.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
5cceb99ad2
[MOVED FROM GST-P-FARSIGHT] removed unused user_data and commented line
...
20080425203938-4f0f6-787778475b646461da40f3e0000a10bc96e142bc.gz
2009-02-17 19:29:04 +01:00
Youness Alaoui
39d4e1ea60
[MOVED FROM GST-P-FARSIGHT] remove unused cases and empty switch
...
20080425203735-4f0f6-c0442fcf57e3f08b81bc1be3d69f5cfa0257b52a.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
1dc81fa5e3
[MOVED FROM GST-P-FARSIGHT] Explicit the discont flag mangling
...
20080428183409-3e2dc-4db2505eeca033a634253b6c2d2f4f1398e9fcca.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
e7413eb0cb
[MOVED FROM GST-P-FARSIGHT] Unref events when they are dropped
...
20080428180711-3e2dc-eb659787f179562f15402c819f188de398deef2d.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
f92c1b9234
[MOVED FROM GST-P-FARSIGHT] Use Glib G_{MAX,MIN}{U,}INT{8,16,32} macros
...
20080424224627-3e2dc-1036bc58b6b4db2f9f12831cdbae3bc613facbbf.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
341a88cd04
[MOVED FROM GST-P-FARSIGHT] Unlock liveadder empty buffer gcond on flush
...
20080421032614-3e2dc-4ed29e1583ff684338ba5d7611f60b1a7eaff563.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
244bf6f250
[MOVED FROM GST-P-FARSIGHT] Unref event instead of leaking it
...
20080418192941-3e2dc-352e25f6ab291612be1dc139790303a1333f65d7.gz
2009-02-17 19:29:04 +01:00
Olivier Crete
696a8dc188
[MOVED FROM GST-P-FARSIGHT] non-perfect stream isnt an error, lets just log it
...
20080403170956-3e2dc-663f6af8ce067f44ca251a89aebf262d4b8a2869.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
29991c984a
[MOVED FROM GST-P-FARSIGHT] We retimestamp to the running time, starting the segments from 0 should therefore work
...
20080403165431-3e2dc-d981ac2f9ea7fd3c8d2be4d22f1817cf78c614e4.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
0e625b097b
[MOVED FROM GST-P-FARSIGHT] Do the min/max of the latencies correctly
...
20080403165415-3e2dc-c1124bd84e67cf8a911a14bb123b8731da9f4fc4.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
a5e2d805e6
[MOVED FROM GST-P-FARSIGHT] Fix indentation
...
20080403021425-3e2dc-efd73a6eed0676e158af70484d4e5c42ea75de74.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
3a53d39191
[MOVED FROM GST-P-FARSIGHT] Activate pads before adding them in case we're already playing
...
20080403020318-3e2dc-afd58f992c0b3057221b91034b2fcd91f296e52d.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
5a48de94d7
[MOVED FROM GST-P-FARSIGHT] For latencies, use the min of the max and the max of the min (and the min wins if they cross)
...
20080403020253-3e2dc-dda7e471073ee75a6f60e845c3c546af9be19675.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
1e7eeda115
[MOVED FROM GST-P-FARSIGHT] Rename next_ts into expected_ts, make sure all buffers have a duration
...
20080403005728-3e2dc-8245ce1bfeebebfb8f75073253b3c0e3c4b5f596.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
56757b3ae2
[MOVED FROM GST-P-FARSIGHT] Don't try to set the discont flag if the duration of the previous incoming buffer was not valid
...
20080403004012-3e2dc-6f95520c928c347508bdf6188c873ed724ad2dd7.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
dc27b8f569
[MOVED FROM GST-P-FARSIGHT] Reset buffers offsets to none
...
20080402224627-3e2dc-d3ee8c7d0c14131017842d8159f7f684d0ccef6d.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
9b1a57442e
[MOVED FROM GST-P-FARSIGHT] Import adder src event handling
...
20080402224612-3e2dc-21a682b18fe18782bf7fa48983c13c1ad86dc5a1.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
59d6b57d52
[MOVED FROM GST-P-FARSIGHT] Push out a simple newsegment event
...
20080331184421-3e2dc-69544b5b03ae3bb8c1e3f967974fd250d04056b5.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
ffa0065ab3
[MOVED FROM GST-P-FARSIGHT] Don't return EOS if there is no sink pad
...
20080331184404-3e2dc-482a134b47eadcd9f1f9d144c02ab1145028fa07.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
6458bc43a4
[MOVED FROM GST-P-FARSIGHT] Reduce locking a bit and cleanup code a bit
...
20080331171116-3e2dc-5ddfb0e459004780d3f7a660c64f58243936a844.gz
2009-02-17 19:29:03 +01:00
Olivier Crete
2a4e341b5d
[MOVED FROM GST-P-FARSIGHT] Add liveadder element
...
20080329004518-3e2dc-40e4746fe82bbc5a871f03fe6ff6048f436c9f85.gz
2009-02-17 19:29:03 +01:00
Michael Smith
a6320f13f1
scaletempo: Do not use void pointer arithmetic.
2009-02-13 12:18:48 -08:00
Julien Moutte
8ad4f28d67
Make the demuxer reusable in READY->PLAYING->READY->PLAYING cycles by
...
flushing adapters correctly.
2009-02-12 22:40:48 +01:00
Sebastian Dröge
e8efc4d020
mxfdemux: Also include the picture/sound/data essence coding in the unknown caps
2009-02-12 11:00:07 +01:00
Sebastian Dröge
25e84ff223
mxfdemux: Update TODO, we should support the drop-frame property of timecode tracks
2009-02-12 11:00:07 +01:00
Sebastian Dröge
eb78f9c8f7
mxfdemux: Fix resolval of identifications from the preface
2009-02-12 11:00:07 +01:00
Sebastian Dröge
61b284de0d
mxfdemux: Parse MXFTimestamp's milliseconds and add _to_string() function
2009-02-12 11:00:07 +01:00
Sebastian Dröge
144466e2cd
mxfdemux: Update TODO
2009-02-12 11:00:07 +01:00
Sebastian Dröge
48dea2af6e
inputselector: Fix compilation, activate_sinkpad() has no notify parameter
2009-02-11 17:21:20 +01:00
Michael Smith
b4c2d8c1bb
input-selector: Activate and notify pad before processing events.
...
Events should trigger pad selection if we don't already have an
explicitly selected pad, so that events prior to first buffer don't get
lost.
2009-02-10 16:23:54 -08:00
René Stadler
ff2d0621f7
camerabin: Sanitize constants used for element factory names.
2009-02-11 01:59:39 +02:00
René Stadler
6675318107
camerabin: Use v4l2src as default source.
2009-02-11 01:59:39 +02:00
René Stadler
7207ef163b
camerabin: Add .gitignore to hide generated signal marshaller files.
2009-02-11 01:59:27 +02:00
René Stadler
d821246de6
camerabin: Fix plugin details to use GST_PACKAGE_* values.
2009-02-11 00:19:22 +02:00
René Stadler
8f1d41637c
aacparse: Fix license specified in plugin details.
2009-02-11 00:15:43 +02:00
Sebastian Dröge
08aadd31dc
mxfdemux: After pulling the footer metadata reset essence track positions to 0
2009-02-09 18:14:14 +01:00
Sebastian Dröge
1229f0a149
mxfdemux: When trying to find an essence track position try to find position+1 too
...
By searching for the following position we will add the complete
generic container (i.e. all tracks) at the same position to the
index which should make finding positions for more than one track
a bit faster.
2009-02-09 17:55:05 +01:00
Sebastian Dröge
df0dd0b378
mxfdemux: For new essence tracks only set the position to 0 if it starts in the current partition
2009-02-09 17:48:38 +01:00
Sebastian Dröge
1ae9334355
mxfdemux: Check if the length of the src/essence track arrays are 0, not the array itself
2009-02-09 17:44:43 +01:00
Sebastian Dröge
32dc77f853
mxfdemux: Make sure that the srcpad and essence track arrays always exist
2009-02-09 17:25:35 +01:00
Sebastian Dröge
ae4b0fcb7c
mxfdemux: Change some GST_ERRORs to something less critical
2009-02-09 16:40:44 +01:00
Sebastian Dröge
3f9400d968
mxfdemux: Only go into EOS and send segment-done after all tracks are finished
2009-02-09 16:40:44 +01:00
Sebastian Dröge
15c0db9c38
mxfdemux: Update TODO
2009-02-09 16:40:44 +01:00
Julien Moutte
fe54254bd9
Fix build for camerabin.
2009-02-09 15:48:20 +01:00
Nokia Corporation
3751eaeb79
Add camerabin element.
2009-02-09 10:22:09 +02:00
Sebastian Dröge
dc408bb28b
mxfdemux: Fix seeking to the end of file
...
When seeking to a position where no new offset can be
found or after the end of a track don't set the EOS flag
to TRUE as we don't (and can't) push EOS downstream then.
Instead set the current essence track position to then
end of the essence track and let the loop or chain function
set everything to EOS and push EOS downstream.
Also restart the pad's task if resolving metadata failed
(playback will continue as before) and return FALSE from
the seek if no new offset could be found.
2009-02-09 07:33:41 +01:00
Sebastian Dröge
f169201c24
mxfdemux: Fix last_stop calculation when seeking
2009-02-08 21:52:03 +01:00
Sebastian Dröge
33baa707a2
mxfdemux: Resolve source package before accessing it's members
2009-02-08 21:31:40 +01:00
Sebastian Dröge
2b566be795
mxfdemux: Correctly implement timestamping in all cases
...
When the material package track and source package track
edit rate are different the source package track edit
rate applies to the stored essence and the material track
edit rate only applies to the values in the track's sequence
and components.
2009-02-08 21:23:03 +01:00
Sebastian Dröge
3cc77d4dd6
mxfdemux: Correctly handle DURATION queries with a negative duration
2009-02-08 21:22:17 +01:00
Sebastian Dröge
81fb90748f
mxfdemux: When changing to the component after the last component update the essence track position
2009-02-08 21:17:11 +01:00
Sebastian Dröge
c33678dab3
mxfdemux: Small cleanup and an additional check
...
Update TODO list, reduce size of a stack allocated string
and don't allow essence tracks with an invalid edit rate
2009-02-08 21:12:21 +01:00
Sebastian Dröge
658066d085
mxfdemux: For material packages make sure that tracks resolve to source tracks
2009-02-08 07:33:33 +01:00
Sebastian Dröge
8dc9f2ea4d
mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
...
Avid uses a custom essence container UL and custom essence element keys
that are fortunately compatible with the generic container essence
elements. Partially fixes bug #561922 .
2009-02-07 10:38:26 +01:00
Sebastian Dröge
3c3dff6869
mxfdemux: Make essence track creation a bit more robust against broken files
...
Some files contain multiple tracks with the same track number but different
track id inside the same source package. This is invalid and we simply ignore
the second and following of such traacks now instead of overwriting the
information of the first one.
2009-02-07 10:13:54 +01:00
Sebastian Dröge
410681f8b5
mxfdemux: Don't include multiple descriptors in the track's descriptors
2009-02-07 10:03:24 +01:00
Sebastian Dröge
6e392318c0
mxfdemux: Add support for non-standard Avid MXF files containing DV essence
...
Avid usually uses a custom essence container label for the essence
descriptors and stores the actual codec that is used inside the
picture essence coding field (and for sound probably in the sound
essence coding field but I have no sample files with sound).
Partially fixes bug #561922 .
2009-02-07 09:27:13 +01:00
Sebastian Dröge
1822dc99d3
mxfdemux: Add data definition for Avid vendor specific picture essence
2009-02-06 11:57:46 +01:00
Sebastian Dröge
86088f92be
mxfdemux: For tracks with no known mapping use dummy caps
2009-02-06 11:55:45 +01:00
Sebastian Dröge
6eef7983fb
mxfdemux: Don't remove invalid new essence track twice from the GPtrArray
2009-02-06 11:21:00 +01:00
Sebastian Dröge
f529a4c6b3
mxfdemux: Implement keyframe detection for MPEG4 video streams
2009-02-06 11:09:11 +01:00
Sebastian Dröge
0d8099685d
mxfdemux: Handle some more special cases when setting the position when seeking
2009-02-06 10:46:47 +01:00
Sebastian Dröge
bb11522f1d
mxfdemux: Adjust last_stop to the last keyframe when seeking
2009-02-06 10:46:09 +01:00
Sebastian Dröge
22cb259f19
mxfdemux: Fix logic for finding the previous keyframe
2009-02-06 10:06:59 +01:00
Sebastian Dröge
6208795598
mxfdemux: Add keyframe detection for MPEG2 video streams
...
This is useful for seeking as we usually want to seek to the previous
keyframe. The keyframe detection is done by parsing the MPEG2
elementary stream and if a GOP or I-frame packet is found we
assume a keyframe in this edit unit.
2009-02-06 09:53:13 +01:00
Sebastian Dröge
c9f6a8b586
mxfdemux: Protect the metadata with a lock against concurrent access
2009-02-05 21:29:29 +01:00
Josep Torra
e3fcf51e2c
mpegpsdemux: fixes clossing segment generation.
...
Ensure that the clossing segment is generated correctly and being
properly pushed.
Added some GST_DEBUG to check it.
Ensure that last_stop is updated in stream time.
Calculate duration as delta of PTS as it seems more correct than delta
of SCR in some clips that I tested.
2009-02-04 22:50:30 +01:00
Josep Torra
f44b64ce92
mpegpsdemux: several fixes on the seeking function in pul mode.
...
Removed a line wrongly copy pasted in my previous commit.
Avoid an unsigned integer overflow.
Seek last_stop in stream time.
Clamp last_stop in stream time between first and last SCR.
Fixed a typo in the GST_DEBUG line and added some more info.
2009-02-04 22:17:36 +01:00
Josep Torra
77bc3a162c
Moved var declarations to the begin of function
2009-02-04 16:20:40 +01:00
Josep Torra
b7198258f2
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad
2009-02-04 16:18:27 +01:00
Josep Torra
5d1abdbe2c
Improved seeking in pull mode. Some refactoring and small fixes
2009-02-04 16:11:23 +01:00
Sebastian Dröge
ad2a64870c
Update TODO
2009-02-04 11:12:14 +01:00
Sebastian Dröge
3e2a880c6b
Post an UMID tag with the current package's UMID
2009-02-04 11:12:14 +01:00
Sebastian Dröge
c0557df34d
Reset the current partition after seeking and NEWSEGMENT events
2009-02-04 11:12:13 +01:00
Sebastian Dröge
2ee7e7768d
In push mode play all remaining parts of the file on EOS if there are any
2009-02-04 11:12:13 +01:00
Sebastian Dröge
cc5699340d
Add property to set the maximum allowed time difference between tracks
2009-02-04 11:12:13 +01:00
Sebastian Dröge
fd72ef34f6
Always set the current package, not only when it was changed
...
This is necessary as the current package link will be set to NULL
when updated metadata is parsed and should be set here again.
2009-02-04 11:12:13 +01:00
Sebastian Dröge
a79c4e0314
Try to resolve all synchronization issues, not only the first
2009-02-04 11:12:13 +01:00
Sebastian Dröge
c4a0bc9887
Remove some checks that will always be TRUE
2009-02-04 11:12:13 +01:00
Josep Torra
9e2dc060a4
Also flush parser when a newsegment is received. Fixes loop in reverse mode.
2009-02-02 23:29:24 +01:00
Josep Torra
c8eb591688
Add pull mode to mpegpsdemux and report duration reading first and last PTS. Some random cleanups.
2009-02-02 23:12:07 +01:00
Sebastian Dröge
18e2ffa484
Cleanup playback package selection and notify about the current package
2009-02-02 17:48:47 +01:00
Sebastian Dröge
5277650a20
Update tags properly, especially on component switch
2009-02-02 16:23:30 +01:00
Sebastian Dröge
0c756199c0
Error out if no pads could be created
2009-02-02 16:05:14 +01:00
Sebastian Dröge
ee131d8af7
Resolve metadata and update tracks if necessary before seeking
2009-02-02 15:54:23 +01:00
Sebastian Dröge
5e57a0a052
Don't go after the last component of a track
2009-02-02 15:54:00 +01:00
Sebastian Dröge
92f372ba30
Return an error if updating an already existing pad fails
2009-02-02 15:53:32 +01:00
Sebastian Dröge
60f5c6f03f
Fix seeking if the source clip duration is unknown
2009-02-02 07:44:12 +01:00
Sebastian Dröge
0ac0645de6
Add initial support for seeking in push mode
2009-02-01 17:00:33 +01:00
Sebastian Dröge
99298da3d5
Fix deadlocks when seeking in pull mode failed and check new offset before using it
2009-02-01 17:00:33 +01:00
Sebastian Dröge
43ade6cf71
Update offset in push mode and handle events properly
2009-02-01 17:00:23 +01:00
Sebastian Dröge
58a3220dde
Implement initial seeking support (pull mode only)
2009-02-01 15:07:09 +01:00
Sebastian Dröge
6a09f5f4fe
Don't use GLib 2.16 API unconditionally
2009-01-31 11:29:20 +01:00
Sebastian Dröge
93a2b5c9ea
Check for EOS on all pads after adjusting the essence track durations
2009-01-31 11:02:26 +01:00
Sebastian Dröge
ebd8b8dbaf
Fix duration calculation for essence tracks
2009-01-31 11:02:26 +01:00
Sebastian Dröge
f638caef57
Implement GstElement::query/get_query_types vfuncs
2009-01-31 11:02:26 +01:00
Sebastian Dröge
061a96fa94
Reset all internal state in finalize
2009-01-31 11:02:26 +01:00
Sebastian Dröge
02769b4a4d
Improve EOS detection and fix push mode for the last pushed in buffer
2009-01-31 11:02:26 +01:00
Sebastian Dröge
707136fe5d
Keep track of essence track position when playing source packages
...
This ensures that the correct essence elements are played and
that we seek to the correct essence elements.
2009-01-31 11:02:26 +01:00
Sebastian Dröge
dfa0e43848
Compensate for timestamp/duration rounding errors
2009-01-31 11:02:25 +01:00
Sebastian Dröge
a930b36adc
Improve EOS logic to check all pads when pulling a packet returned EOS
...
This makes sure that we finish all pads that are at EOS now instead of
just finishing one and returning to this point over and over again.
2009-01-31 11:02:25 +01:00
Sebastian Dröge
2dbe706330
Only push buffers for pads that are not more than 500ms before other pads
2009-01-31 11:02:25 +01:00
Sebastian Dröge
91ed2ef166
Improve EOS logic to only go into EOS after all tracks are finished
2009-01-31 11:02:25 +01:00
Sebastian Dröge
b783f38813
Update TODO list
2009-01-31 11:02:25 +01:00
Sebastian Dröge
20c92a4db3
Try to keep the timestamp difference between tracks lower than 500ms
2009-01-31 11:02:25 +01:00
Sebastian Dröge
742fc4e80d
Fix playback of atom files
2009-01-31 11:02:25 +01:00
Sebastian Dröge
f404262adf
Keep track of current playback position
2009-01-31 11:02:25 +01:00
Sebastian Dröge
556e3c46e4
Set essence track positions to 0 if we're at the start partition
2009-01-31 11:02:24 +01:00
Sebastian Dröge
91b35975b5
Generate an index table for essence streams
...
Generate an index table for essence streams during playback
and make sure that only the correct essence elements are
used for played tracks.
Make it possible to have one essence stream used in multiple
playback tracks.
Fix some minor bugs.
2009-01-31 11:02:24 +01:00
Sebastian Dröge
dc42074fa9
Don't complain if the preface has no primary package set
2009-01-31 11:02:24 +01:00
Sebastian Dröge
afbec8ab9b
Allow index table segments without primer pack
...
When parsing an index table segment without a valid
primer pack in this partition only parse the static
local tags and ignore all dynamic ones.
This allows us to use index table segments in some
broken files.
2009-01-31 11:02:24 +01:00
Sebastian Dröge
4162c36f17
Add essence track abstraction
...
Add an abstraction to represent essence tracks and
use this everywhere. This will later be used to keep
track of positions and to generate/handle seek tables.
Some random cleanup and renaming.
2009-01-31 11:02:24 +01:00
Sebastian Dröge
914b108db9
Fix parsing of index table segments
...
Allocate memory for the pos tables and slice offsets
of the index entries separately to a) fix alignment in
weird cases and b) to actually have something to free()
in the index table segment reset function.
2009-01-31 11:02:24 +01:00
Sebastian Dröge
264e30abb9
Improve detection of the end of the header metadata
...
Header metadata is finished after partition.header_byte_count
bytes after the first byte of the primer pack are handled.
After this there can only be index table segments, filler packets,
essence or the start of the next partition.
This fixes playback of some files that have non-standard metadata
packets in the header metadata.
2009-01-31 11:02:24 +01:00
Michael Smith
6a0a9fc01e
Unref event if we don't forward it, unref pads when done with them.
2009-01-30 18:29:01 -08:00
Jan Schmidt
db73bcfac6
Fix compilation on Forte.
...
Dereference the pointer to the passed socket to check the actual fd
when closing them.
Cast an assignment to kill a warning.
2009-01-30 18:20:17 +00:00
Jan Schmidt
4ccbb0309f
Fix the return value of the default parse_frame function.
...
Fix the return value of the default parse_frame function in both
copies of GstBaseParse
2009-01-30 18:18:10 +00:00
Josep Torra
3b7f1bc988
mpegdemux: do not skip pes packets that we think are encrypted
...
pes packets that claim to be encrypted may not be so, so treat as normal.
Just log the flags.
2009-01-28 12:49:39 +00:00
Mark Nauwelaerts
6bbce931bc
Additional media type support in qtmux (and friends).
...
Support AMR and H263 for both qtmux and gppmux,
and add extensions in sample table description.
2009-01-28 13:34:44 +01:00
Zaheer Merali
b34204a54b
Revert "mpegdemux: do not skip pes packets that we think are encrypted"
...
This reverts commit d3e4e5598f
.
2009-01-28 12:27:42 +00:00
Josep Torra
d3e4e5598f
mpegdemux: do not skip pes packets that we think are encrypted
...
pes packets that claim to be encrypted may not be so, so treat as normal.
Just log the flags.
2009-01-28 12:19:09 +00:00
Hans de Goede
bf7ccbe0f8
Build the modplug plugin against the modplug library and remove our copy
...
Always build the modplug plugin against the system modplug library
and remove our own copy. Using the system version has advantages
if security issues or other critical bugs are found in libmodplug
and our own copy wasn't really maintained anyway.
Also our copy only contained some patches to use GLib types and functions.
Fixes bug #568837 .
2009-01-24 18:13:39 +01:00
Jan Schmidt
2014b7f498
Make RGB masks unsigned in rawvideoparse
...
Allow the full range of 32 bit masks for RGBA/RGB data by making sure
the mask properties are unsigned.
2009-01-23 14:33:51 +00:00
Stefan Kost
2af1d512c4
Log aac details found in codec_data.
2009-01-23 16:00:10 +02:00
Sebastian Dröge
e4e3b44e04
Rename audioresample files and types to legacyresample
...
Finish the move/rename of audioresample to legacyresample
to prevent any confusion.
2009-01-23 12:47:19 +01:00
Sebastian Dröge
6fec8619b5
Remove speexresample from -bad, it's in -base
2009-01-23 12:47:19 +01:00
Wim Taymans
0cda7294ab
Send BYE packets immediatly for small sessions
...
When the number of participants is less than 50, the RFC allows for sending the
BYE packet immediatly instead of using the regular BYE timeout.
Fixes #567828 .
2009-01-23 12:18:45 +01:00
Brian Cameron
eac03fc77e
Link modplug plugin with -lm. Fixes bug #568483 .
2009-01-23 10:44:20 +01:00
Brian Cameron
486d76b454
Fix build on Solaris. Fixes bug #568480 .
...
Fix linking on Solaris by checking for the nsl and socket
libraries which are needed for socket() and gethostbyname().
Don't initialize some fields of struct mh to NULL/0, they're
already set to NULL/0 by a memset(). Also this fields don't
exist on Solaris.
2009-01-23 10:11:52 +01:00
Sebastian Dröge
7ce5b5a2d6
Store all partitions & primer packs in memory for faster access
...
Store all partitions & primer packs in memory for faster access.
This is later needed for fast seeking.
Pre-fill the list of partitions with the content of the random
index pack.
Don't parse metadata of an partition twice.
2009-01-23 10:09:01 +01:00
Jan Urbanski
a3b61dce0d
Add support for ECMA arrays in script tags. Fixes bug #567965 .
...
Add support for ECMA arrays in script tags. This fixes
seeking on some files that have the seek table stored
inside an ECMA array instead of the normal array.
2009-01-22 13:41:32 +01:00
Wim Taymans
f8f5b55ddd
Unlock the jitterbuffer before pushing out the packet-lost events.
...
Move some code before we do the unlock to make the jitterbuffer state
consistent while we are unlocked.
2009-01-22 13:36:08 +01:00
Sebastian Dröge
054167100d
Fix UL for DTS and MPEG2 layer 1
2009-01-22 13:13:00 +01:00
Sebastian Dröge
6b5f04100a
Add support for AAC audio
2009-01-22 13:13:00 +01:00
Sebastian Dröge
716ce72e46
Store MXF metadata in a hash table, keyed by UID
...
Store the MXF metadata in a hash table, keyed by the
instance UID. This simplifies resolval of the metadata
and makes looping over all metadata sets unnecessary
in most cases.
Additionally parse metadata always. If we already have
a metadata set with the same UID replace it only if
the new metadata set is from a later offset. This
fixes metadata parsing of files where following partitions
don't have a complete copy of the previous metadata.
2009-01-22 13:13:00 +01:00
Sebastian Dröge
52028f2e11
Build the random index pack while parsing
...
If the file contains no random index pack or just
an invalid one build the random index pack while
parsing.
2009-01-22 13:13:00 +01:00
Sebastian Dröge
fc4be0acca
Update copyrights for 2009
2009-01-22 13:13:00 +01:00
Sebastian Dröge
100dfc34d6
Simplify parsing of UL/UUID arrays
...
Simplify parsing of UL/UUID arrays by abstracting it
into a separate function.
2009-01-22 13:13:00 +01:00
Sebastian Dröge
cd80f534f5
Implement parsing of DMS1 (SMPTE S380M)
2009-01-22 13:12:59 +01:00
David Schleef
fe42ac1020
gst/mpegdemux/gstmpegtsdemux.c: Don't forward duration requests in BYTES, since the returned value doesn't mean anyth...
...
Original commit message from CVS:
* gst/mpegdemux/gstmpegtsdemux.c:
Don't forward duration requests in BYTES, since the returned
value doesn't mean anything. Fixes #566959
2009-01-09 22:09:06 +00:00
David Schleef
413016e459
gst/qtmux/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part to caps so schroenc/schroparse can use it. Fixes #5...
...
Original commit message from CVS:
* gst/qtmux/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part
to caps so schroenc/schroparse can use it. Fixes #566958
2009-01-09 21:59:48 +00:00
Zaheer Abbas Merali
3a2cdc25e1
gst/mpegdemux/mpegtspacketizer.c: Guard interval is 4 if descriptor part shows binary 11 (3 not 4).
...
Original commit message from CVS:
* gst/mpegdemux/mpegtspacketizer.c:
Guard interval is 4 if descriptor part shows binary 11 (3 not 4).
2009-01-05 17:41:51 +00:00
Zaheer Abbas Merali
f0ed18f2ed
gst/mpegdemux/gstmpegdesc.h: Fix up satellite delivery subsystem defs.
...
Original commit message from CVS:
* gst/mpegdemux/gstmpegdesc.h:
Fix up satellite delivery subsystem defs.
2009-01-05 17:30:55 +00:00
Zaheer Abbas Merali
6decc6f3c1
gst/mpegdemux/gstmpegdesc.h: Fix up terrestrial delivery system descriptor defs.
...
Original commit message from CVS:
* gst/mpegdemux/gstmpegdesc.h:
Fix up terrestrial delivery system descriptor defs.
They should be shifted otherwise wrong values are seen.
2009-01-05 17:26:00 +00:00
Sebastian Dröge
7dad262671
gst/mxf/: "Generation UID" and "This Generation UID" are different so handle them different. Also both are not part o...
...
Original commit message from CVS:
* gst/mxf/Makefile.am:
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfmetadata.c: (mxf_metadata_handle_tag),
(mxf_metadata_preface_handle_tag),
(mxf_metadata_identification_handle_tag),
(mxf_metadata_content_storage_handle_tag),
(mxf_metadata_essence_container_data_handle_tag),
(mxf_metadata_generic_package_handle_tag),
(mxf_metadata_track_handle_tag),
(mxf_metadata_sequence_handle_tag),
(mxf_metadata_structural_component_handle_tag),
(mxf_metadata_generic_descriptor_handle_tag),
(mxf_metadata_locator_handle_tag),
(mxf_metadata_locator_class_init):
* gst/mxf/mxfmetadata.h:
"Generation UID" and "This Generation UID" are different so handle
them different. Also both are not part of every metadata type.
2009-01-05 13:41:07 +00:00
Sascha Hauer
9ebb543b50
gst/bayer/gstbayer2rgb.c: Fix color offset calculation for 24bpp. Fixes bug #566613 .
...
Original commit message from CVS:
Patch by: Sascha Hauer <s dot hauer at pengutronix dot de>
Luotao Fu <l dot fu at pengutronix dot de>
* gst/bayer/gstbayer2rgb.c: (get_pix_offset),
(gst_bayer2rgb_set_caps):
Fix color offset calculation for 24bpp. Fixes bug #566613 .
2009-01-05 12:34:18 +00:00
vanista
751555b5c3
gst/mpegtsmux/: Improve muxing of AC3/h264 streams a bit. Fixes bug #550613 .
...
Original commit message from CVS:
Patch by: vanista <vanista at gmail dot com>
* gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_create_stream):
* gst/mpegtsmux/tsmux/tsmux.c: (tsmux_write_pmt):
* gst/mpegtsmux/tsmux/tsmuxstream.c: (tsmux_stream_new),
(tsmux_stream_write_pes_header), (tsmux_stream_get_es_descrs):
* gst/mpegtsmux/tsmux/tsmuxstream.h:
Improve muxing of AC3/h264 streams a bit. Fixes bug #550613 .
2009-01-05 11:28:49 +00:00
Sebastian Dröge
caa8349067
gst/mxf/mxfdemux.c: Don't allow negative or zero edit rates to prevent division by zero and we support negative edit ...
...
Original commit message from CVS:
* gst/mxf/mxfdemux.c:
(gst_mxf_demux_handle_header_metadata_update_streams),
(gst_mxf_demux_pad_next_component):
Don't allow negative or zero edit rates to prevent division
by zero and we support negative edit rates anyway.
2009-01-05 10:34:03 +00:00
Sebastian Dröge
8fcdca999a
gst/mxf/: Fix compilation with debugging disabled.
...
Original commit message from CVS:
* gst/mxf/mxfaes-bwf.c:
(mxf_metadata_wave_audio_essence_descriptor_handle_tag),
(mxf_bwf_create_caps):
* gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_klv_packet):
* gst/mxf/mxfmetadata.c: (mxf_metadata_handle_tag),
(mxf_metadata_preface_handle_tag),
(mxf_metadata_identification_handle_tag),
(mxf_metadata_content_storage_handle_tag),
(mxf_metadata_essence_container_data_handle_tag),
(mxf_metadata_generic_package_handle_tag),
(mxf_metadata_source_package_handle_tag),
(mxf_metadata_track_handle_tag),
(mxf_metadata_sequence_handle_tag),
(mxf_metadata_structural_component_handle_tag),
(mxf_metadata_source_clip_handle_tag),
(mxf_metadata_dm_segment_handle_tag),
(mxf_metadata_generic_descriptor_handle_tag),
(mxf_metadata_file_descriptor_handle_tag),
(mxf_metadata_generic_picture_essence_descriptor_handle_tag),
(mxf_metadata_generic_sound_essence_descriptor_handle_tag),
(mxf_metadata_generic_data_essence_descriptor_handle_tag),
(mxf_metadata_multiple_descriptor_handle_tag):
* gst/mxf/mxfparse.c: (mxf_partition_pack_parse),
(mxf_index_table_segment_parse), (mxf_primer_pack_parse),
(mxf_local_tag_add_to_hash_table):
Fix compilation with debugging disabled.
2009-01-05 10:22:29 +00:00
Olivier Crete
c3060dfb64
gst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use this as the internal SSRC. Fixes #565910 .
...
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_setcaps_send_rtp), (create_send_rtp_sink):
* gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc):
When an SSRC is found on the caps of the sender RTP, use this as the
internal SSRC. Fixes #565910 .
2009-01-02 17:40:06 +00:00
Wim Taymans
0df77bfcd6
gst/rtpmanager/: Rename a method to better reflect what it really does.
...
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_getcaps_send_rtp):
* gst/rtpmanager/rtpsession.c: (check_collision),
(rtp_session_schedule_bye_locked), (rtp_session_schedule_bye):
* gst/rtpmanager/rtpsession.h:
Rename a method to better reflect what it really does.
2009-01-02 16:50:53 +00:00