Commit graph

19 commits

Author SHA1 Message Date
Amine Khaldi c424146e2c Create a branch for cmake bringup.
svn path=/branches/cmake-bringup/; revision=48236
2010-07-24 18:52:44 +00:00
Johannes Anderwald 8b9a3d51b9 [MSDVBNP]
- Fix category description
[KSPROXY]
- Create pin handle when other pin is connecting to the output pin
- Defer loading proxy plugins when the pin is about to connect

svn path=/trunk/; revision=46879
2010-04-15 11:08:19 +00:00
Johannes Anderwald 35ac4e1e92 [KSPROXY]
- Implement sending multiple media samples to tv tuner at once in order to avoid the kernel irp queue running out

svn path=/trunk/; revision=46749
2010-04-06 14:32:35 +00:00
Johannes Anderwald b4a44e7a78 [KSPROXY, MSDVBNP]
- Remove remaining DebugBreak
- Add debug traces

svn path=/trunk/; revision=46684
2010-04-02 16:25:18 +00:00
Johannes Anderwald 833d3c5b7f [BDAPLGIN]
- Enhance debug traces
[KSPROXY]
- Check if the input / output pin has any methods while enumerating them
[MSDVBNP]
- Implement IBaseFilter::Stop, IBaseFilter::Run, IBaseFilter::Pause
- Fix missing AddRef in IBaseFilter::QueryFilterInfo
- Implement IBDA_NetworkProvider::RegisterDeviceFilter, IBDA_NetworkProvider::UnRegisterDeviceFilter
- Partly implement ITuner::put_TuneRequest
- ReactOS DVBT Network Provider is now able to tune a channel, though sound is missing

svn path=/trunk/; revision=46471
2010-03-26 17:51:54 +00:00
Johannes Anderwald 79f7266fc6 [KSPROXY]
- Load ksproxy plugins for input / output pins

svn path=/trunk/; revision=46400
2010-03-24 20:05:43 +00:00
Johannes Anderwald 015687d53a [KSPROXY]
- Silent traces

svn path=/trunk/; revision=46399
2010-03-24 17:30:43 +00:00
Johannes Anderwald 6dc21eed48 [KSPROXY]
- Check in IMemAllocator::GetBuffer if the allocator is commited
- Silence debug prints in IMediaSample
- Implement IBaseFilter::Stop
- Fix race conditions in IBaseFilter::Run, IBaseFilter::Run, IBaseFilter::Stop
- Check for invalid argument in IBaseFilter::Stop
- Call InitializeIOThread when pin state is set to acquired
- Grab current filter handle by obtaining IKsObject interface of the parent filter. Required as the filter handle might be closed by using IAMDeviceRemoval interface
- CLSID_Filter is now fully functional (Windows XP SP3)

svn path=/trunk/; revision=46396
2010-03-24 13:12:34 +00:00
Johannes Anderwald 89cff88aa2 [KSPROXY]
- HACK: Return the oldest used sample when the allocator runs out of samples. Fixes playback as the render does not seem to release the media samples
- Start implementing IKsClockForwarder interface
- Fix a few bugs in KsOpenDefaultDevice
- Implement IMediaSample::GetMediaType
- Always use the CKsAllocator interface for allocating samples

svn path=/trunk/; revision=46346
2010-03-22 21:40:29 +00:00
Johannes Anderwald 15a94d994c [KSPROXY]
- Implement IKsAllocator interface
- Implement IMediaSample interface
- Implement querying the output pin for IMemInputPin and determine allocator properties. Currently the allocation strategy is limited to 16 Buffers with a size of 2048 * 188 (MPEG2 TS Payload size). Needs more work to determine a reasonable value
- Implement overriding allocator if properties are not matching
- Implement IPin::BeginFlush, IPin::EndFlush, IPin::EndOfStream, IPin::NewSegment for the OutputPin
- Implement a I/O thread which queues the media sample to the kernel pin via IKsInterfaceHandler and then transmitts it to the connected input pin via IMemInputPin interface.
- Implement setting pin state via a friend function, in order to synchronize the starting / stopping of the I/O thread
- Fix a bug in IAMFilterMiscFlags::GetMiscFlags function
- ksproxy (CLSID_Proxy) is now able to connect to MPEG-2 splitter and deliver samples. Needs more investigation why the render filter is not releasing the samples back to allocator, which causes the I/O thread to hang. WIP

svn path=/trunk/; revision=46339
2010-03-22 05:03:50 +00:00
Johannes Anderwald 333598b9c0 [KSPROXY]
- Fix build for XXX time because of me

svn path=/trunk/; revision=46278
2010-03-19 21:07:23 +00:00
Johannes Anderwald c56e31c044 [KSPROXY]
- Start implementing IKsAllocator interface
- Retrieve the default format for the input and output pin
- Instantiate the kernel pin when an interface request for IMemInputPin / IKsPropertySet / IKsObject request arrives 
- Implement IKsPin::KsCreateSinkPinHandle for the input pin
- Partly implement IKsPin::KsPropagateAcquire for input / output pin
- Fix asserts in IKsControl::KsProperty, IKsControl::KsMethod, IKsControl::KsEvent
- Simplify CInputPin::CheckFormat
- Store the currently used pin medium / interface and connection format
- Implement IAMBufferNegotiation::SuggestAllocatorProperties, IAMBufferNegotiation::GetAllocatorProperties for the output pin
- Pass pin's communication to output pin
- Implement IMediaFilter::Pause, IMediaFilter::Run for CKsProxy
- CKsProxy is now able to deliver signal statistics for BDA devices (app: SageDvbRecorder, OS: WinXP SP3)

svn path=/trunk/; revision=46274
2010-03-19 15:39:08 +00:00
Christoph von Wittich 65a79a863e [KSPROXY]
fix file headers

svn path=/trunk/; revision=46224
2010-03-16 12:11:39 +00:00
Johannes Anderwald 8012adb803 [KSPROXY]
- Implement IKsPinPipe for CInputPin & COutputPin
- Implement IKsPinFactory, IStreamBuilder for CInputPin
- Implement IKsAggregateControl, IQualityControl stub for CInputPin & COutputPin

svn path=/trunk/; revision=46222
2010-03-16 11:12:19 +00:00
Johannes Anderwald 531fab28a4 [KSPROXY]
- Implement IKsDataTypeHandler::KsIsMediaTypeInRanges, IKsDataTypeHandler::KsSetMediaType
- Instantiate the IKsInterfaceHandler for the CInputPin 


svn path=/trunk/; revision=46208
2010-03-15 16:22:41 +00:00
Johannes Anderwald 472db0e74d [PSDK]
- Fix KSPROPSETID_Stream definition
[KSPROXY]
- Implement IKsClockPropertySet, IReferenceClock, IMediaSeeking, IKsTopology interface for CKsProxy
- Implement more of IBaseFilter::SetSyncSource for CKsProxy
- Add missing AddRef to IBaseFilter::QueryFilterInfo for CKsProxy

svn path=/trunk/; revision=46176
2010-03-13 17:36:30 +00:00
Johannes Anderwald 718fb52625 [KSPROXY]
- Recreate resource file with visual studio
- Fix compilation with msvc
- Copy extra format buffer in IEnumMediaTypes::Next
- Create the pin handle in IPin::ReceiveConnection
- Implement IPin::Disconnect for the input pin
- Enumerate media formats and pass it to constructor of CEnumMediaTypes
- Check if the passed format is null in CInputPin::CheckFormat
- Copy extra format buffer after KSDATAFORMAT in the pin connection request
- Implement KsGetMediaType function
- Implement ISpecifyPropertyPages, IKsPropertySet, IKsControl, IStreamBuilder, IKsPinFactory for the output pin
- Implement IPin::ReceiveConnection, IPin::EnumMediaTypes for output pin
- Stub interfaces for IReferenceClock, IMediaSeeking, IKsTopology, IKsAggregateControl, IKsClockPropertySet, ISpecifyPropertyPages, IPersistStream for proxy filter
- Implement IAMDeviceRemoval, IKsControl, IAMFilterMiscFlags, IKsPropertySet interface for proxy filter

svn path=/trunk/; revision=46116
2010-03-11 21:38:13 +00:00
Johannes Anderwald 57103f1233 [KSPROXY]
- Silence traces in IEnumPins interface
- Partly implement IKsObject interface for COutputPin
- Retrieve pin communication and pass it to constructor of CInputPin
- Implement IKsPinEx and IMemInputPin interface for CInputPin
- The DVBT network provider can now connect to the BDA Source Filter

svn path=/trunk/; revision=45836
2010-03-04 17:34:22 +00:00
Johannes Anderwald 7fc6b68491 [BDAPLGIN]
- Set output variable to null to fixup lazy callers
[KSPROXY]
- Enumerate input / output pins and their names
- Start implementing input / output pin
- Implement IEnumPins interface for CKsProxy filter
[MSDVBNP]
- Fix a bug (IEnumPins::Next should increase reference count on pin)
- Fix a bug (IPin::QueryFilterInfo should increase reference count on parent filter)
- Reference leakage is now fixed

svn path=/trunk/; revision=45768
2010-03-02 20:18:29 +00:00