In this paper, we first survey cross layer architectures for Wireless Sensor Networks and Wireless Multimedia Sensor Networks (WMSNs). Afterwards, we introduce a novel framework for supporting multiple applications in WMSNs. The proposed framework supports heterogeneous flows and it classifies WMSN traffic into six classes. The framework partitions the network into hexagonal cells and it uses the seven cell frequency reuse pattern to enhance throughput and minimize interference. The framework uses a shared database to enable cross layer interactions. For supporting multiple applications on a single node, an area in the memory is reserved where each application can request its protocols parameters. Protocol parameters and interaction between the shared database and applications are done through cross layer optimization middleware. A TDMA-based distributed MAC is used to support heterogeneous traffic flows.