Commit graph

1711 commits

Author SHA1 Message Date
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